初学者读取文件内容显示在客户区,并且其他类使用客户区内容
菜鸟求助:读取文件内容显示在客户区,并且其他类使用客户区内容
“读取文件内容显示在客户区”这个已经完成了。
“其他类使用客户区内容”这个怎么获取客户区内容呢?
------解决思路----------------------
你读取文件时使用的内存空间不就是“缓冲区”吗?只是需要注意这块空间的位置,如果你在函数中分配的局部变量,那么别的类是无法访问的。要想别的类可以访问就需要public的类成员变量,如果访问的类与创建缓冲区的类不在同一线程中,还不能直接访问。
------解决思路----------------------
哎哟我擦,你不早说,兜了那么一大圈子
CEditView *pView = .....;
TCHAR szBuff[1024] = {0};
pView->GetEditCtrl().GetWindowText(szBuff,1000);
------解决思路----------------------
我那是伪代码
你的代码组织结构只有你最清楚,如何得到CEditView指针,
你先静下来多思考思考,遇到问题了要多想多思考,别着急忙慌的自乱阵脚!
1、如果你直接是在你的CEditView类的任何一个成员函数中获取显示的数据
就直接
TCHAR szBuff[1024] = {0};
GetEditCtrl().GetWindowText(szBuff,1000);
2、如果你是在CEditView类外部获取其显示的数据,就必须要得到CEditView指针,或是全局变量,或是参数传递都可以,具体怎么得到它,是由你的代码组织结构决定的,你都不知道,我从何说起呢?
不行你就用全局变量吧大姐(我怕说多了你又理解不了,我就又得一发不可收拾)
在你派生于CEditView的头文件XXOOView.h中:
XXOOView.cpp 开头处:
用的地方包含XXOOView.h即可
以上也是伪代码,而且你的工程最好是单文档的,否则我不保证数据的正确性,原因你自己去思考!
“读取文件内容显示在客户区”这个已经完成了。
“其他类使用客户区内容”这个怎么获取客户区内容呢?
------解决思路----------------------
你读取文件时使用的内存空间不就是“缓冲区”吗?只是需要注意这块空间的位置,如果你在函数中分配的局部变量,那么别的类是无法访问的。要想别的类可以访问就需要public的类成员变量,如果访问的类与创建缓冲区的类不在同一线程中,还不能直接访问。
------解决思路----------------------
哎哟我擦,你不早说,兜了那么一大圈子
CEditView *pView = .....;
TCHAR szBuff[1024] = {0};
pView->GetEditCtrl().GetWindowText(szBuff,1000);
------解决思路----------------------
我那是伪代码
你的代码组织结构只有你最清楚,如何得到CEditView指针,
你先静下来多思考思考,遇到问题了要多想多思考,别着急忙慌的自乱阵脚!
1、如果你直接是在你的CEditView类的任何一个成员函数中获取显示的数据
就直接
TCHAR szBuff[1024] = {0};
GetEditCtrl().GetWindowText(szBuff,1000);
2、如果你是在CEditView类外部获取其显示的数据,就必须要得到CEditView指针,或是全局变量,或是参数传递都可以,具体怎么得到它,是由你的代码组织结构决定的,你都不知道,我从何说起呢?
不行你就用全局变量吧大姐(我怕说多了你又理解不了,我就又得一发不可收拾)
在你派生于CEditView的头文件XXOOView.h中:
class CXXOOView : public CEditView
{
~CXXOOView();
virtual void OnInitialUpdate(); //重写此函数(其他的也行,我只是举个例子)
//.....
//.....
};
extern CXXOOView *g_pView;
XXOOView.cpp 开头处:
#include "stdafx.h"
#include "XXOOView.h"
CXXOOView *g_pView = NULL; //全局变量初始化
//........
//........
CXXOOView::CXXOOView()
{
}
CXXOOView::~CXXOOView()
{
}
void CXXOOView::OnInitialUpdate()
{
CEditView::OnInitialUpdate();
if(!g_pView)
g_pView = this;
//......
//......
}
用的地方包含XXOOView.h即可
以上也是伪代码,而且你的工程最好是单文档的,否则我不保证数据的正确性,原因你自己去思考!