改变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   有详细代码...
  • chenlanjie842179335
  • chenlanjie842179335
  • 2012年07月17日 21:45
  • 4013

MfC打开过程详解及应用

本文主要介绍:在MFC中,菜单打开的
  • hong__fang
  • hong__fang
  • 2014年11月23日 15:21
  • 2021

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

第一部分:五个命令ID: 处理函数   ID_FILE_NEW CWinApp::OnFileNew    ID_FILE_OPEN    CWinApp::OnFileOpen   ID_FILE_...
  • wirror800
  • wirror800
  • 2009年03月21日 14:20
  • 8459

MFC MDI 打开文件的调用过程

MFC MDI 打开文件的调用过程
  • normal_2015
  • normal_2015
  • 2017年10月16日 22:27
  • 98

MFC——文件打开和保存对话框(CFileDialog)

最近要做一个文件打开和保存的对话框,现将相关的代码记录如下,用以备忘! 所用控件: 2个静态标签(Static Text):用以显示功能标签; 2个文本框(Edit):用以显示打开的文件路径全名要保存...
  • luoweifu
  • luoweifu
  • 2014年04月28日 22:42
  • 57110

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

在App类的CxxxApp::OnFileOpen()方法里不要调用CWinApp::OnFileOpen,而是调用自己的文件选择框取得文件路径,然后调用CWinApp::OpenDocumentFi...
  • Mirage520
  • Mirage520
  • 2012年03月25日 01:40
  • 1576

关于VS2012中XXXApp::OnFileOpen不被执行解决方案

消息映射如下时,OnFileOpen不被执行: // XXXApp BEGIN_MESSAGE_MAP(XXXApp, CWinApp)  ON_COMMAND(ID_APP_ABOUT, &X...
  • kkkksqwx
  • kkkksqwx
  • 2014年11月12日 14:53
  • 522

MFC MDI和SDI美化----之客户区美化

1、美化方式:贴图,重绘背景 2、一、MDI客户窗口   一个MDI应用的主框架窗口包含一个特殊的子窗口称为MDICLIENT窗口。MDICLIENT窗口负责管理主框架窗口的客户区。MDICLIE...
  • wzy198852
  • wzy198852
  • 2014年02月12日 09:53
  • 3069

MDI不使用默认子窗口

MDI 程序 有时候我们希望不生成默认的子窗口,由我们自己创建 而于此同时有不希望改变原来的CMultiDocTemplate,网上有一些方法是干掉模板,自己实现。这未免有点伤筋冻骨。 其实我们...
  • liqing19850102
  • liqing19850102
  • 2012年04月19日 07:51
  • 2008

MFC File相关命令流程分析

一个APP可以有多个文档模板,一个文档模板可以有多个文档(Document),一个Document可以有多个View。在程序。要在程序中添加新的文档模板可以如下所示: CSingleDocTempla...
  • zhuhuangtianzi
  • zhuhuangtianzi
  • 2014年08月20日 19:26
  • 1066
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:改变MFC中MDI默认打开方式(ID_FILE_OPEN)
举报原因:
原因补充:

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