zoukankan      html  css  js  c++  java
  • MFC对话框不能使用菜单更新宏ON_UPDATE_COMMAND_UI

    菜单更新宏的原理

    更新处理宏的工作原理是基于框架窗口类的。MFC中对话框菜单更新宏的原理是:当我们使用从CFrameWnd框架窗口类中派生的类创建窗口时,当我们单击菜单且菜单还未弹出前会产生WM_INITMENUPOPUP消息,如果我们派生出的类没有WM_INITMENUPOPUP消息处理程序,则消息会被传递到CFrameWnd框架窗口类的WM_INITMENUPOPUP消息处理程序中(CFrameWnd::OnInitMneuPopup),而此函数会利用命令传递调用各个菜单项的更新处理程序,也就是我们用ON_UPDATE_COMMAND_UI宏声明的程序。

    对话框中更新菜单

    因为对画框类CDialog是直接从CWnd类继承而来的,当其接受到WM_INITMENUPOPUP消息后如果没有处理消息会交给CWnd::OnInitMenuPopup()消息处理程序进行默认处理

    所以其不能使用更新处理宏来更新菜单,一般我们都是通过直接自己处理WM_INITMENUPOPUP消息来更新菜单

  • 相关阅读:
    Spark SQL ---一般有用
    idea快捷键
    04.Scala编程实战 ---没看
    03.Scala高级特性 ---没看
    02.Actor编程 ---没看
    01.Scala编程基础 ---没看
    附6、Storm面试题目答疑 ---一般有用
    扩展运算符
    ES6新增数组方法(部分)
    for of 循环
  • 原文地址:https://www.cnblogs.com/revercc/p/14041791.html
Copyright © 2011-2022 走看看