當前位置:菜譜大全網 - 菜譜 - VC++加載自定義菜單及如何手動創建快捷菜單

VC++加載自定義菜單及如何手動創建快捷菜單

在VC++中,將菜單添加到應用程序:

加載用戶定義的菜單

在框架類CMainFrame的OnCreate函數中加載用戶自定義菜單。雙擊左側工作區中CMainFrame類的OnCreate函數。編輯代碼如下:

DockControlBar(& amp;m _ wndToolBar);

CMenu菜單;//聲明菜單對象

菜單。load menu(CG _ IDR _ POPUP _ MY _ VIEW);//添加黑色粗體代碼,括號中是用戶定義的菜單名稱。

this-SetMenu(& amp;菜單);//設置自定義菜單替換現有菜單返回0;;註意:如果您想創建壹個級聯菜單,您可以選擇彈出選項。

右鍵菜單的響應:

將WM_RBOTTONDOWN的響應函數OnRButtonDown添加到視圖類中,並在其中添加代碼,如下所示:

CMenu菜單;//定義菜單對象

菜單。load menu(IDR _ my menu);//加載菜單資源,在括號中定義菜單名稱。

CMenu *pSubMenu=menu。get submenu(0);//獲取第壹個頂級菜單

client to screen(& amp;點);//轉換坐標

pSubMenu-trackppopupmenu(TPM _ left align | TPM _ left button,

point.x,point.y,get parent());//彈出菜單

CView::onrbtuoundown(nFlags,point);

菜單項屬性對話框:若幹組選項ID(菜單項ID):壹般來說,菜單ID的取值要遵循以下原則:ID_頂層菜單名_下層菜單項名(_下層菜單項名)。比如:ID_LOLOR_RED。註意:彈出菜單不需要ID號。

標題(菜單項的名稱):可以是英文、中文、數字、符號等。註意:用戶可以在標題文本框中為菜單項定義快捷鍵,並在菜單標題的字母前輸入“&”。去做吧。如果菜單是中文的,必須用括號將快捷鍵的描述括起來,例如“新建”菜單項的快捷鍵使用“(&;n)”的定義。提示:標題文本框中還有壹串字符“\tCtrl+N”,用來表示該菜單項的快捷鍵。快捷鍵可以不打開菜單直接執行菜單項。

Separator復選框:如果選中此復選框,菜單項將成為分隔符,原始菜單項將丟失。如果用戶希望添加分隔線,可以將空白菜單拖動到需要分隔線的位置,然後選中該空白菜單的分隔符復選框。

彈出復選框:選中此復選框,菜單項會變成彈出菜單,即點擊此菜單會彈出下壹級子菜單。Visual C++6.0中默認的頂級菜單是彈出菜單。

非活動復選框:選中此復選框,曲面菜單項的初始狀態為非活動。

選中的復選框:此復選框是菜單初始值的復選標記。選中此復選框將在菜單項的左側打上勾號。

灰顯復選框:如果選中此復選框,菜單項將灰顯,表示菜單的初始狀態是不可訪問的。如果選中此復選框,則菜單必須處於非活動狀態,因此此時非活動復選框不可用。

幫助復選框:選擇此復選框,菜單將出現在菜單欄的右側。

Break(菜單項劃分):當壹個菜單的菜單項太多時,把它們放在壹列會感覺很長,很擁擠。這時候可以考慮分成兩欄來展示。Break扮演這個角色。Break選項對應壹個組合框,* * *有三個選項,分別是無、分欄和條形。

無:系統默認選項,表示無分割。

列:列拆分。選擇此項時,所選菜單項下面的菜單項將開始新的壹行。例如,在文件菜單中選擇打印菜單項的結果。

平行格式:類似分欄,也是分欄。只是和Column不同,兩列之間有豎線隔開。文本框:提示後可以在文本框中輸入文本。程序運行時,當鼠標移動到菜單項上時,底部狀態欄會給出該菜單的功能提示。