Wince中MFC對話框中添加菜單項的做法 (平臺是VS2005)

新建一個基於對話框的MFC工程,

通過資源視圖中的*.rc點右鍵“添加資源”,選擇“MENU”,然後“新建”


在出現的空菜單條上選擇第一個空處,修改它的Caption屬性爲“文件(&O)”,

可以看到它自動變成了一個菜單項,同時可以看到字母O下面有下滑線,代表熱鍵。

在剛纔的菜單下面的子菜單空處繼續添加菜單項“新建/tCtrl+N”、“打開/tCtrl+O”和“保存/tCtrl+S”,

可以看到由於製表符“/t”的作用,菜單標題中的“Ctrl+N”等快捷鍵標示都對齊了。

選擇它們下一個空處,不添加Caption屬性,直接在Separator屬性前打勾,下一項就變成了分割線。

接着向上面一樣添加“退出/tAlt+F4”菜單項。

 

在PC機中 選擇關聯到主對話框類上 ,只需 編輯主對話框資源的屬性,在Menu項中選擇剛纔創建的菜單資源ID(本例是IDR_MENU1)。但是在wince建立的MFC對話框屬性中沒有Menu屬性,因此需要編寫代碼來實現關聯,關聯代碼如下,只需要在主對話框中添加以下代碼,注意 IDR_MENU1是你要關聯的菜單的ID。

  HINSTANCE   hInst   =   AfxGetResourceHandle();  
HWND   hwndCB   =   CommandBar_Create(hInst,this->GetSafeHwnd(),1);  
if(hwndCB   ==   NULL)  
{  
TRACE0("Failed   to   create   CommandBar/n");  
}  

if(!CommandBar_InsertMenubar(hwndCB,hInst,IDR_MENU1,3) )       
{  
TRACE0("Failed   Insert   Menu   to   CommandBar/n");   
}

對這些菜單項建立消息映射本質與Button相同,都是接收系統的COMMAND消息,但是因爲無法通過雙擊來簡單的建立,

VS2005,每個菜單的映射函數非常容易,如:添加 文件菜單下的打開映射,只需要,進入資源視圖的菜單界面,在“打開”的地方, 右鍵 點擊“添加事件處理程序”,然後跳出“事件處理程序嚮導”,我選擇的COMMAND消息類型,修改函數處理程序名稱,點擊添加編輯按鈕,進入了事件處理程序補充完整,即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章