改变MFC中MDI默认打开方式(ID_FILE_OPEN)

转载 2012年03月25日 01:40:02

在App类的CxxxApp::OnFileOpen()方法里不要调用CWinApp::OnFileOpen,而是调用自己的文件选择框取得文件路径,然后调用CWinApp::OpenDocumentFile打开文件。

如下:


void CMyPrjEditDemoApp::OnFileOpen() 
{
 // TODO: Add your command handler code here

 //下面是自己添加的文件打开对话框
 CFileDialog dlg(TRUE);
 int structsize = 0;

 DWORD dwVersion,dwWindowsMajorVersion,dwWindowsMinorVersion;

 dwVersion = GetVersion();
 dwWindowsMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
 dwWindowsMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));

 if(dwVersion<0x80000000)
  structsize=88;
 else
  structsize=76;


 //
 GISENV* env = _GetEnv();
  
 dlg.m_ofn.lpstrInitialDir = env->cur;
 dlg.m_ofn.lStructSize = structsize;
 dlg.m_ofn.lpstrFilter = "工程文件(*.mpj)\0*.mpj\0所有文件(*.*)\0*.*\0\0";

 if(IDOK == dlg.DoModal())
 {
  CString path = dlg.GetPathName();

  //调用CWinApp::OpenDocumentFile(),将路径传递进去
  CWinApp::OpenDocumentFile(path.GetBuffer(path.GetLength())); 
 }
 
}



转帖:http://wwboss.blog.sohu.com/88957540.html

ID_FILE_NEW消息和ID_FILE_OPEN消息

转自http://kb.cnblogs.com/a/2357724/和http://blog.csdn.net/godknows007/article/details/6192925   有详细代码...

VC菜单命令详解(文件打开、保存与关闭)

第一部分:五个命令ID: 处理函数   ID_FILE_NEW CWinApp::OnFileNew    ID_FILE_OPEN    CWinApp::OnFileOpen   ID_FILE_...

MFC关于消息的经典问题

当我想要用classwizard在***Doc中添加命令消息响应函数。加一个对象ID为ID_FILE_REOPEN,消息为COMMAND,成员函数为OnFileReopen.时找不到ID_FILE_R...

MFC多文档MDI_"打开文件"默认后缀名修改,根据需要添加

参考:http://blog.csdn.net/segen_jaa/article/details/8489917   应用背景: 我用的是MDI框架,需要调用同事给的dll,才能确定本程序解析何种格...
  • memeai
  • memeai
  • 2013年08月29日 15:59
  • 1998

使IE的默认打开方式为全屏显示

  • 2010年07月01日 13:39
  • 66KB
  • 下载

修复打开方式、默认程序

  • 2011年03月29日 23:27
  • 977B
  • 下载

ubuntu建立qt的默认打开方式

更改文件的默认方式很容易,右键属性就可以了。 然而有时候程序装在了”~/”下时,右键属性时,就找不到所需要的程序了,比如qt。设置pro文件默认打开方式为qtcreator的方法如下: 建立软链接:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:改变MFC中MDI默认打开方式(ID_FILE_OPEN)
举报原因:
原因补充:

(最多只允许输入30个字)