一个关于MFC的初学的问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:25:45
在练习做一个多档多视的MDI程序时候出现的问题
要做一个dialog 将edit框中的内容传到CMarDoc2类中的m_str中,但是写出来的时候却出现了error C2065: 'GetDocument' : undeclared identifier这个问题,由于初学,想不到解决办法。在开头部分,已经加入“#include "MarDoc2.h"”
下面是部分源码
void CDlgInput::OnOK()
{
// TODO: Add extra validation here
CMarDoc2* pDoc =(CMarDoc2*)GetDocument();
UpdateData();
pDoc->m_str=m_input;

CDialog::OnOK();
}
CDialog 里面没有GetDocument() 的话,我要使我的pDoc初始化,我应该怎么做呢

error C2065: 'GetDocument' : undeclared identifier

因为在类CDlgInput中没有'GetDocument' 函数。

而CDlgInput::OnOK() 是类CDlgInput的成员,如果在之中写GetDocument() 就表示调用CDlgInput类或其父类的成员函数GetDocument();

Dlg窗口,不是Doc/View方式,没有GetDocument();

CDocument类的成员

构造函数 CDocument 构造一个CDocument对象

操作 AddView 将视图添加到文档中
GetDocTemplate 活动描述文档类型的文档模板的指针
GetFirstViewPosition 返回文档列表的第一个位置,用作迭代查找的开始
GetNextView 通过与文档相联系的文档列表迭代
GetPathName 返回文档数据文件的路径名
GetTitle 返回文档的标题
IsModified 标识文档从最近一次保存以来是否被修改过
RemoveView 将视图与文档分离
SetModifiedFlag 为文档从最近一次保存以来所作的修改设置标识
SetPathName 为文档使用的数据文件设置路径
SetTitle 设置文档标题
UpdateAllViews 通知所有视图文档已被修改的消息

可覆盖的函数 CanCloseFrame 高级函数覆盖。由框架窗口在观察文档之前调用
DeleteContents 在清除文档时调用
OnChangedViewList 在视图往文档中添加或从其中删除之后调用
OnCloseDocument 关闭文档时调用
OnNewDocument 创建文档时调用
OnOpenDocument 打开已存在的文档时调用
OnSaveDocument 保存文档到磁盘时调