MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤 首发

-尨_九九九七七 阅读:42次 时间:2023-10-24 15:25:10
最佳经验
由作者撰写原创经验并推荐置顶

在客户区双击出现打开对话框,以下内容是由微蓝经验网用户发布MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤,希望对于用户有一定帮助,为朋友进行解决疑惑,如若想了解更多相关内容,可以向底部移动了解更多与本教程文章相关解决经验方法!

工具与材料

Visual Studio 2010或者Visual C++6.0

方法/步骤
  1. 1/7

    新建一个多重文档的MFC应用,工程的名字为Open。

    MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤
  2. 2/7

    在工作区选择classview标签,展开Open classes,右击CMainFrame类,在弹出的菜单中选择add WindowsMessage Handler 命令,在弹出的对话框中的新建windows消息/事件列表框中选择WM_LBUTTONDBLCLK选项,单击add and Edit。

    MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤
  3. 3/7

    在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点击按钮弹出对话框详细步骤
  4. 4/7

    在上面的OnCreate()函数中添加一下代码

    // 为响应鼠标双击客户区的事件所增加的属性:CS_DBLCLKS

    HWND hMDIClientArea = GetWindow(GW_CHILD)->GetSafeHwnd();

    ::SetClassLong(hMDIClientArea, GCL_STYLE, ::GetClassLong(hMDIClientArea,GCL_STYLE) | CS_DBLCLKS);

    MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤
  5. 5/7

    在工作区选择classview标签,展开Open classes,右击CMainFrame类,在弹出的菜单中选择add virtual function 命令,在弹出的对话框中的New virtual function列表框中选择PreTranslateMessage,最后单击add and edit。

    MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤
  6. 6/7

    在函数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点击按钮弹出对话框详细步骤
  7. 7/7

    运行结果在客户区双击出现打开对话框如下:

    MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤
注意与说明

注意函数的添加,以上经验结束,与MFC应用实例:[7]双击主窗口弹出打开对话框-mfc点击按钮弹出对话框详细步骤有关的经验教程内容,若解决问题请点击“有用”,没有解决请向下浏览“相关”内容或点击“无用”平台积极改进优质原创的内容文章,点击下方工具分享给更多的朋友吧!

相关评论发表评论

声明 未经许可,请勿转载。

win7调出dos,win7怎么打开DOS命令行窗口
极速浏览器阻止跳转app 极速浏览器拦截弹出窗口设置在哪里打开
【把门打开攻略】第7关图文详细攻略,你真的了解吗?
eclipse打开时选择路径-设置eclipse启动时弹出选择工作空间的对话框
jquery弹出层 jQuery点击弹出用户登录窗口界面
360浏览器总是弹出快资讯窗口怎么办,有图有真相!
电脑总是弹出ppap.exe应用程序错误窗口怎么办,电脑弹出application error
打开多个PPT文档,如何在任务栏上多窗口显示
如何取消每次打开软件都弹出“用户帐户控制”
360浏览器怎么设置在一个窗口打开多个页面
如何关闭360安全浏览器弹出的广告窗口
怎样在同一个窗口中打开每个文件夹

新手帮助反馈投诉免责声明服务协议

© 2025 VLPOS.com 版权所有 微蓝网 ICP备案号:黑ICP备20003952号-1