初学者读取文件内容显示在客户区,并且其他类使用客户区内容

菜鸟求助:读取文件内容显示在客户区,并且其他类使用客户区内容
“读取文件内容显示在客户区”这个已经完成了。
“其他类使用客户区内容”这个怎么获取客户区内容呢?
------解决思路----------------------
你读取文件时使用的内存空间不就是“缓冲区”吗?只是需要注意这块空间的位置,如果你在函数中分配的局部变量,那么别的类是无法访问的。要想别的类可以访问就需要public的类成员变量,如果访问的类与创建缓冲区的类不在同一线程中,还不能直接访问。
------解决思路----------------------
引用:
Quote: 引用:

获取写入/修改的内容是当然了,我很奇怪的是,你是怎么修改DC上绘制的字符串的呢? 类似于excel表格,有个隐藏的Edit?如果真是这样那还好办了呢,至少绘图的数据是你自己通过一定的数据结构来维护的......

我让视图继承了CEditView类,所以就可以编辑了


哎哟我擦,你不早说,兜了那么一大圈子初学者读取文件内容显示在客户区,并且其他类使用客户区内容

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即可

以上也是伪代码,而且你的工程最好是单文档的,否则我不保证数据的正确性,原因你自己去思考!