命令更新 菜单项状态的维护是依赖于 CN UPDATE COMMAND UI消息 谁捕获 CN UPDATE COMMAND U消息,MFC就在其中创建“八 CCmdUI对象。我们可以通过手工或利用 Class wizard在消息映射中添加 ON UPDATE_ COMMAND UI宏来捕获 CN UPDATE COMMAND_UI 消息 在后台所做的工作是:操作系统发出 WM INITMENUPOPUP消息, 然后由MFC的基类如 CFrameWnd接管。它创建一个 CCmdUI对象,并与 第一个菜单项相关联,调用对象的一个成员函数 DoUpdate0。这个函数 发出CN_ UPDATE COMMAND UI消息,这条消息带有指向 CAndu对 象的指针。同一个 CCmdUI对象就设置为与第二个菜单项相关联,这样 顺序进行,直到完成所有菜单项 更新命令U处理程序仅应用于弹出式菜单项上的项目,不能应用 于永久显示的顶级菜单项目。 tp://www.sunxin.org命令更新 菜单项状态的维护是依赖于CN_UPDATE_COMMAND_UI消息, 谁捕获CN_UPDATE_COMMAND_UI消息,MFC就在其中创建一个 CCmdUI对象。我们可以通过手工或利用ClassWizard在消息映射中添加 ON_UPDATE_COMMAND_UI宏来捕获CN_UPDATE_COMMAND_UI 消息。 在后台所做的工作是:操作系统发出WM_INITMENUPOPUP消息, 然后由MFC的基类如CFrameWnd接管。它创建一个CCmdUI对象,并与 第一个菜单项相关联,调用对象的一个成员函数DoUpdate()。这个函数 发出CN_UPDATE_COMMAND_UI消息,这条消息带有指向CCmdUI对 象的指针。同一个CCmdUI对象就设置为与第二个菜单项相关联,这样 顺序进行,直到完成所有菜单项。 更新命令UI处理程序仅应用于弹出式菜单项上的项目,不能应用 于永久显示的顶级菜单项目。 http://www.sunxin.org