中文概況
CCmdUI。
它僅在一個CCmdTarget派生類的ON_UPDATE_COMMAND_UI處理程式中使用。
當用戶在套用的下拉選單時,要確定每個選單項的顯示狀態——允許存取或禁止存取。選單命令的目標通過實現一個ON_UPDATE_COMMAND_UI處理來提供這些信息。可以使用ClassWizard來瀏覽定位套用中的命令 用戶接口對象,然後為它建立一個訊息映射入口,並為每個訊息處理函式提供函式原型。
當選單被下拉時, 框架搜尋並調用每個ON_UPDATE_COMMAND_UI處理,每個處理調用Enable和Check之類的成員函式,相應地,框架就可以正確地顯示每個選單項了。
選單項可以用控制項條按鈕或者其它的命令 用戶接口對象替換,而在ON_UPDATE_COMMAND_UI處理中的代碼不需要改動。
中文說明
下表列出了各種命令用戶接口上的CCmdGUI的
成員函式
用戶接口項目 | Enable | SetCheck | SetRadio | SetText |
選取 (×) 或不選 | 使用圓點選取 | 設定項目文本 | ||
啟用或禁用 | (選擇, 未選擇或不確定) | 與SetCheck相同 | 不可用) | |
狀態欄窗格 | 使文本可見或不可見 | 設定彈出或是普通框線 | 與SetCheck相同 | 設定窗格文本 |
CDialogBar中的普通按鈕 | 啟用或禁用 | 選取或不選複選框 | 與SetCheck相同 | 設定按鈕文本 |
CDialogBar中的普通控制項 | 啟用或禁用 | 不可用) | 不可用) | 設定視窗文本 |
所需頭檔案:#include
CCmdUI
類的成員
數據成員
m_nID | 用戶接口對象的ID |
m_nIndex | 用戶接口對象的下標 |
m_pMenu | 指向CCmdUI對象代表的選單 |
m_pSubMenu | 指向CCmdUI對象代表的選單的子選單 |
m_pOther | 指向傳送通知的視窗對象 |
操作
Enable | 允許或禁止本命令存取用戶接口對象 |
SetCheck | 為本命令設定用戶接口對象的選中狀態 |
SetRadio | 與成員函式SetCheck類似,作用於單選鈕組 |
SetText | 為本命令設定用戶接口對象的文本 |
ContinueRouting | 通知命令路由機制繼續沿處理鏈傳送當前訊息 |
CCmdUI::ContinueRouting
void ContinueRouting( );
說明:
本函式通知路由機制繼續沿處理鏈傳送當前訊息。
本函式應該和一個返回FALSE的ON_COMMAND_EX處理函式聯合使用。有關更詳細的信息,請參閱“技術指南21”。
CCmdUI::Enable
virtual void Enable( BOOL bOn = TRUE );
參數:
bOn:
如果為TRUE,則把該項設定為允許存取;為FALSE,則設定為禁止存取。
說明:本函式用來設定一個命令是否可以存取用戶接口項。
CCmdUI::SetCheck
virtual void SetCheck( int nCheck = 1 );
參數:
nCheck:
指定要設定的選中狀態。0表示設定為未選中狀態,1表示選中,2表示不確定。
說明:
本函式為命令設定用戶接口項相應的選中狀態。它對選單項和工具條按鈕起作用。不確定狀態只適用於工具條按鈕。
CCmdUI::SetRadio
virtual void SetRadio( BOOL bOn = TRUE );
參數:
bOn:
如果為TRUE,則把項設定為允許存取;為FALSE,則設定為禁止存取。
說明:
本函式用於為命令設定用戶接口項狀態。作用類似於SetCheck,但對單選鈕組中的成員起作用。不會自動清除組中其它項的選中狀態,除非這些項自己維護了組的行為。
CCmdUI::SetText
virtual void SetText( LPCTSTR lpszText );
參數:
lpszText | 指向字元串的 指針 。 |
說明:本函式為命令設定用戶接口項中的文本。
英文介紹
CCmdUI
CCmdUI does not have a base class.
The CCmdUI classis used only within an ON_UPDATE_COMMAND_UI handler in a CCmdTarget-derived class.
When a user of your application pulls down a menu, each menu item needs to know whether it should be displayed as enabled or disabled. The target of a menu command provides this information by implementing an ON_UPDATE_COMMAND_ UI handler. Use ClassWizard to browse the command user-interface objects in your application and create a message-map entry and function prototype for each handler.
When the menu is pulled down, the framework searches for and calls each ON_UPDATE_COMMAND_UI handler, each handler calls CCmdUI member functions such as Enable and Check, and the framework then appropriately displays each menu item.
A menu item can be replaced with a control-bar button or other command user-interface object without changing the code within the ON_UPDATE_COMMAND_UI handler.
The following table summarizes the effect CCmdUI’s member functions have on various command user-interface items.