新建一個基於對話框的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消息類型,修改函數處理程序名稱,點擊添加編輯按鈕,進入了事件處理程序補充完整,即可。