在客户区双击出现打开对话框,以下内容是由微蓝经验网用户发布MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤,希望对于用户有一定帮助,为朋友进行解决疑惑,如若想了解更多相关内容,可以向底部移动了解更多与本教程文章相关解决经验方法!
Visual Studio 2010或者Visual C++6.0
新建一个多重文档的MFC应用,工程的名字为Open。
![MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤](https://i.vlpos.com/102324/12710169813233959004.png)
在工作区选择classview标签,展开Open classes,右击CMainFrame类,在弹出的菜单中选择add WindowsMessage Handler 命令,在弹出的对话框中的新建windows消息/事件列表框中选择WM_LBUTTONDBLCLK选项,单击add and Edit。
![MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤](https://i.vlpos.com/102324/57982169813234068984.png)
在OnLButtonDblClk()函数里面添加代码如下:
void CMainFrame::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
AfxGetApp()->m_pDocManager->OnFileOpen();
CMDIFrameWnd::OnLButtonDblClk(nFlags, point);
}
![MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤](https://i.vlpos.com/102324/58939169813234053888.png)
在上面的OnCreate()函数中添加一下代码
// 为响应鼠标双击客户区的事件所增加的属性:CS_DBLCLKS
HWND hMDIClientArea = GetWindow(GW_CHILD)->GetSafeHwnd();
::SetClassLong(hMDIClientArea, GCL_STYLE, ::GetClassLong(hMDIClientArea,GCL_STYLE) | CS_DBLCLKS);
![MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤](https://i.vlpos.com/102324/88048169813234051509.png)
在工作区选择classview标签,展开Open classes,右击CMainFrame类,在弹出的菜单中选择add virtual function 命令,在弹出的对话框中的New virtual function列表框中选择PreTranslateMessage,最后单击add and edit。
![MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤](https://i.vlpos.com/102324/38190169813234130754.png)
在函数PreTranslateMessage()添加一下代码:
BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
// 如果是在主客户区双击鼠标,则发送WM_LBUTTONDBLCLK消息
if(pMsg->hwnd == m_hWndMDIClient && pMsg->message == WM_LBUTTONDBLCLK)
PostMessage(WM_LBUTTONDBLCLK); // 发送鼠标双击消息
return CMDIFrameWnd::PreTranslateMessage(pMsg);
}
![MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤](https://i.vlpos.com/102324/84926169813234114132.png)
运行结果在客户区双击出现打开对话框如下:
![MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤](https://i.vlpos.com/102324/76576169813234165768.png)
注意函数的添加,以上经验结束,与MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤有关的经验教程内容,若解决问题请点击“有用”,没有解决请向下浏览“相关”内容或点击“无用”平台积极改进优质原创的内容文章,点击下方工具分享给更多的朋友吧!





微蓝网部分素材(图片、视频、音频等)来自于网络,不代表本站立场,以上素材或内容仅代表作者个人观点,因此产生相关问题作者本人负责,本站将不承担任何法律责任! 如有问题请进行侵权投诉
© 2025 VLPOS.com 版权所有 微蓝网 ICP备案号:黑ICP备20003952号-1
黑公网安备 23012602000120号