[Windows]MFC單文件實現選單切換
阿新 • • 發佈:2019-02-02
我們在載入單文件主介面時找到如下程式碼,當然可以在解決方案中尋找IDR_MAINFRAME,以確定其位置
// 註冊應用程式的文件模板。文件模板 // 將用作文件、框架視窗和檢視之間的連線 CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MENU_LOGIN, RUNTIME_CLASS(CNotesRecDoc), RUNTIME_CLASS(CMainFrame), // 主 SDI 框架視窗 RUNTIME_CLASS(CNotesRecView)); if (!pDocTemplate) return FALSE; AddDocTemplate(pDocTemplate);
其中IDR_MENU_LOGIN在初始化時為IDR_MAINFRAME,此段程式碼一般在所在解決方名稱的cpp中,即Application.cpp
這是我們的第一個進入的選單
當實現選單切換時我們在資源檢視中建立一個新的選單,修改其ID,在初始選單的某個選單項中新增事件響應函式
新增如下程式碼:
其中IDR_MAINFRAME是需要切換的ID號,這樣就實現了選單的切換//去掉系統的選單 SetMenu(NULL); CMenu menu; //載入功能主選單 menu.LoadMenu(IDR_MAINFRAME); AfxGetMainWnd()->SetMenu(&menu); AfxGetMainWnd()->DrawMenuBar(); menu.Detach();
工程程式碼:https://github.com/SalamanderJY/MenuSwitch