1. 程式人生 > >[Windows]MFC單文件實現選單切換

[Windows]MFC單文件實現選單切換

我們在載入單文件主介面時找到如下程式碼,當然可以在解決方案中尋找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,在初始選單的某個選單項中新增事件響應函式
新增如下程式碼:
            //去掉系統的選單  
			SetMenu(NULL);  
			
			CMenu menu;
	        //載入功能主選單
			menu.LoadMenu(IDR_MAINFRAME);
			AfxGetMainWnd()->SetMenu(&menu);
			AfxGetMainWnd()->DrawMenuBar();
			menu.Detach();
其中IDR_MAINFRAME是需要切換的ID號,這樣就實現了選單的切換

工程程式碼:https://github.com/SalamanderJY/MenuSwitch