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

在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值