求救!!VC的这个变量传递问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 12:48:35
我先用MFC建立了一个单文档应用程序,然后在菜单中添加一项,并为其单击添加了如下代码
void CMainFrame::OnRead()
{
// TODO: Add your command handler code here
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="请选择要绘图的数据文件";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
if(IDOK==fileDlg.DoModal())
{
CFile file(fileDlg.GetFileName(),CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1];
pBuf[dwFileLen]=0;
file.Read(pBuf,dwFileLen);
file.Close();
MessageBox(pBuf);
}
}
编译运行可以打开相应的文件,但是怎样才能把这些文件数据传递到VIEW类的OnDraw函数中进行绘图呢·····希望恳求各位给指点下,紧急求救中···谢谢!!越详细越好,最好把步骤也说下,呵呵

1.当你读完程序后加入如下代码(CYourView是你自己的视图类)
CYourView *pView = (CYourView *)GetActiveView();
::PostMessage(pView->m_hWnd,UM_MSG,(WPARAM)pBuf, 0)
在View类里面就可以添加UM_MSG消息处理函数来对pBuf指向的文件数据进行操作了,处理完了记得释放pBuf所指向的堆内存空间
2.在View类中也定义一个类似的字符数组,用上述pView指针直接访问该字符数组,从而在框架类中将文件数据拷贝到View类的字符数组中

解决方法好多,我说一种,你可以在view中打开相应的文件,给view定义一个存储数据的成员变量,这样就可以在ondraw中随便用这个数据了.