UPDATE_COMMAND_UI
处理菜单对应的用户界面
COMMAND
处理该菜单对应的功能
处理菜单对应的用户界面
COMMAND
处理该菜单对应的功能
解决方案 »
- 哪位给个ODBC连接数据库用并把数据库里的表完全的显示在MFC中的list control控件中,这个迷茫很久了。求指点
- 在WebBrowser中tagname为‘A’的元素两个问题?
- 非管理员帐户如何创建计划任务?
- 请问位图文件如何缩放和灰度转换???
- VC文章标和VC++到底是不是一回事?
- 有过被要求这样处理窗口风格的请帮忙?(无边框,不能移动,总在最上)
- 急!!请问在vc sdk环境下,怎么可以实现扁平的工具条?类似于ie里面的
- combo box
- 将要毕业,传授面试事宜
- hook 是啥意思
- 怎样知道应用程序已经启动过一次了,谢谢!
- 为什么我一调用beginthread 就告诉我出错 代码是从MSDN上抄下来的
CheckMenuItem ,但這使得程式雜亂無章,因為你沒有㆒個固定的位置和固定的原則處
理命令項狀態。MFC 提供㆒種直覺並且仍舊依賴訊息觀念的方式,解決這個問題,這就
是 UPDATE_COMMAND_UI 訊息。其設計理念是,每當選單被拉㆘並尚未顯示之前,
其命令項(以及對應之工具列按鈕)都會收到 UPDATE_COMMAND_UI 訊息,這個訊
息和 WM_COMMAND 有㆒樣的繞行路線,我們(程式員)只要在適當的類別㆗放置其
處理函式,並在函式㆗做某些判斷,便可決定如何顯示命令項。
這種方法的最大好處是,不但把問題的解決方式統㆒化,更因為 Framework 傳給
UPDATE_COMMAND_UI 處理常式的參數是㆒個「指向 CCmdUI 物件的指標」,而
CCmdUI 物件就代表著對應的選單命令項,因此你只需呼叫 CCmdUI 所準備的,專門
用來處理命令項外觀的函式(如 Enable 或 SetCheck )即可。我們的工作量大為減輕。(选摘自《深入浅出MFC》第9章)
处理菜单对应的用户界面
COMMAND
处理该菜单对应的功能说得很好:)
如果要使菜单变灰、或者在菜单项里面打勾
用那个UPDATE_COMMAND_UI否则用command例子:
void CMainFrame::OnUpdateSelectBlue(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetCheck(true);//把菜单选中
}