+ -
当前位置:首页 → 问答吧 → ID_FILE_OPEN

ID_FILE_OPEN

时间:2011-11-27

来源:互联网

请教各位大虾:
  在MFC中,我自己新建了一个类,然后把ID_FILE_OPEN映射在此类当中的OnFileOpen()函数;可是运行时没出错但也没有响应我自己定义的OnFileOpen这个函数。而响应的其默认的APP类中的OnFileOpen函数。
  请教怎么让其响应自己的OnFileOpen呢?

作者: xiao_su66   发布时间: 2011-11-27

菜单项命令的顺序是:视类,文档类,框架类,最后是应用程序类。你可以在view类里面加个响应函数,来实现你新建的类里面的函数。

作者: greatliudy123   发布时间: 2011-11-27

你可以在APP的响应中调用你的类中相应的函数

作者: heksn   发布时间: 2011-11-27

在应用程序类的.cpp文件中找到:
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
将其中的CWinApp::OnFileOpen换成你新建类的OnFileOpen函数即可,记得包含必要的头文件

作者: fight_in_dl   发布时间: 2011-11-27

针对ID_FILE_OPEN的处理msdn推荐的方式是
在APP类中自定义处理函数
并代替
ON_COMMAND(ID_FILE_OPEN,OnMyFileOpen)

void CMFCCFormViewApp::OnMyFileOpen()
{
CFileDialog dlg(TRUE);

int nRetn = dlg.DoModal();
if ( nRetn == IDOK ) //用户选择了文件
{
CString cs;

cs = dlg.GetPathName();
//cs就是已经获得的文件名路径
//调用程序A
//或则调用默认的文档打开函数OpenDocumentFile(cs);

}
}

作者: gameslq   发布时间: 2011-11-27