在MFC中一般基于對話框的MFC界面是沒有菜單欄的,基于文檔視圖結構的MFC界面是有菜單欄的,那麼怎麼在基于對話框的MFC界面中添加菜單欄?過程如下
**一、在資源視圖中将menu加入資源視圖中
1、在MFC中建立一個基于對話框的MFC界面工程,打開資源視圖截圖如下:
裡面是預設沒有menu資源的。這時就需要我們手動添加menu資源了。
2、在資源視圖中添加menu資源
還是在資源視圖中,任選一個空白的地方“右擊”,彈出如下界面,選擇“添加資源(A)”功能 ,之後在彈出的對話框中選擇menu資源,再單擊“建立”按鈕,界面如下:
注意:這個時候在工程的資源視圖中已經有了menu資源。接下來就是建立menu資源了。
**二、在資源視圖添加菜單欄
1、在資源視圖中添加菜單欄
步驟:在資源視圖中,選中“menu”資源,右擊,選擇“插入Menu”,之後在資源視圖的Menu下面就有了一個菜單欄,如下圖:
輕按兩下具體建立的菜單欄就可以對菜單欄進行編輯了。
2、對插入的菜單欄進行編輯
(1)修改菜單欄的ID,注意:記住ID,後面有用
(2)修改菜單欄為我們想要的樣子,如下:
注意:此處,菜單欄有個ID,菜單欄上每個項都會有ID。
**三、将菜單欄添加到對話框界面
1、将菜單欄添加到界面
打開你新加入的菜單項,單擊“項目”–>“添加現有項”,在這裡選擇已有的類,就是你要為其添加菜單的對話框的類,例如,***Dlg.cpp。然後确定。如下圖所示:
注意:這裡選擇對話框的類的時候,一定要選擇你需要添加菜單的對話框的cpp檔案,特别是有多個對話框的時候一定要注意。
四、在對話框檔案中添加相應的代碼
1、在對話框類.h檔案中聲明CMenu變量
打開對話框頭檔案*Dlg.h,聲明CMenu 變量,例如m_Menu;
CMenu m_Menu;
2、在對話框類.cpp檔案中添加代碼
打開***Dlg.cpp 檔案,在***Dlg::OnInitDlg()中加入如下語句:
m_Menu.LoadMenu(IDR_MENU1); // IDR_MENU1
SetMenu(&m_Menu);
這樣就OK了,調試一下,菜單就已經出現在對應的對話框中。
成功運作之後的對話框界面如下:
成功添加了菜單欄之後就可以和在文檔視圖模式下一樣對菜單進行操作,添加具體菜單項,以及為具體的菜單項添加消息處理函數等。
成功添加了菜單欄之後就可以和在文檔視圖模式下一樣對菜單進行操作,添加具體菜單項,以及為具體的菜單項添加消息處理函數等。