1、 建立彈出選單:
(1)、利用嚮導,建立乙個基於單文件的應用程式;
(2)、在資源檢視中選中」menu」,滑鼠右鍵插入一新選單idr_popmenu;
(3)、在idr_popmenu選單中新增」彈出選單」選項,在」彈出選單」下新增選單命令」複製」、」貼上」、」查詢」、」測試」,分別修改其id;
(4)、分別對四個選項,新增訊息處理函式,選中某選項,滑鼠右鍵單擊,選擇add event handler,類的型別選中view,訊息型別選擇command;
(5)、選擇class view,選中view類,新增滑鼠右鍵單擊訊息;
(6)、在此右鍵單擊訊息中新增如下**即可:
cmenu menu;
menu.loadmenu(idr_popmenu);
cmenu *pcontextmenu=menu.getsubmenu(0);
pcontextmenu->trackpopupmenu(tpm_leftalign|tpm_rightbutton,point.x, point.y, afxgetmainwnd());
2、建立動態選單:
(1)、利用嚮導,建立乙個基於單文件的應用程式;
(2)、在資源檢視中選中」menu」,滑鼠右鍵插入一新選單idr_dyn;
(3)、在idr_dyn選單中新增」動態選單」選項,在」動態選單」下新增選單命令」first動態選單」、」second動態選單」,分別修改其id;
(4)、分別對兩個選項,新增訊息處理函式,選中某選項,滑鼠右鍵單擊,選擇add event handler,類的型別選中cmainframe,訊息型別選擇command;
(5)、在資源檢視中,定位到idr_mainframe主選單,新增新項」動態選單演示」選項,在」動態選單演示」下新增兩個新項」新增動態選單」、」刪除動態選單」,修改id;
(6)、新增」新增動態選單」訊息處理函式,類的型別選中cmainframe,訊息型別選擇command;新增如下**:
cmenu m_addmenu,*m_pmainmenu;
if (!m_addmenu.loadmenu(idr_dyn))
messagebox(_t("動態選單裝入失敗!"),_t("錯誤"),mb_ok|mb_iconerror);
return;
cstring str=_t("自己的動態選單(&d)");
m_pmainmenu=afxgetmainwnd()->getmenu();
m_pmainmenu->insertmenu(1,mf_popup|mf_byposition|mf_string,(uint)m_addmenu.getsubmenu(0)->m_hmenu,str);
m_pmainmenu->detach();
m_addmenu.detach();
drawmenubar();
(7)新增」刪除動態選單」訊息處理函式,類的型別選中cmainframe,訊息型別選擇command;新增如下**:
cmenu *m_pmainmenu;
cstring str;
m_pmainmenu=afxgetmainwnd()->getmenu();
for (int i=m_pmainmenu->getmenuitemcount()-1;i>=0;i--)
m_pmainmenu->getmenustring(i, str,mf_byposition);
if (str==_t("自己的動態選單(&d)"))
m_pmainmenu->deletemenu(i,mf_byposition);
break;
m_pmainmenu->detach();
drawmenubar();
3、建立若干對話方塊的選單
(1)、利用嚮導,建立乙個基於對話方塊的應用程式;
(2)、選中資源檢視,滑鼠右鍵插入resourceàmenu,id為idr_dlg_menu;
(3)、為idr_dlg_menu新增專案」對話方塊選單」,然後在該專案下新增」檔案選單」、」執行記事本選單」、」退出應用程式選單」,並修改其id;
(4)、在對話方塊屬性視窗中選中menu,設定為idr_dlg_menu;
(5)、分別對三個選項,新增訊息處理函式,選中某選項,滑鼠右鍵單擊,選擇add event handler,類的型別選中dlg類,訊息型別選擇command;
(6)、在」執行記事本選單」訊息處理函式中,新增如下**:
::shellexecute(this->m_hwnd, "open","notepad.exe", null,null, sw_shownormal);
(7)、在」退出應用程式選單」訊息處理函式中,新增如下**:
onok();
MFC右鍵選單的使用
最近使用了mfc的右鍵選單,記錄一下,供下次使用時參考。在工程的資源檢視 新增資源 menu新建 為新增的每個選項修改id,然後新增事件處理程式,選擇正確的類列表,然後把處理程式寫在事件處理程式中 這點跟普通的按鈕用法相同 接著在類嚮導的訊息中選擇wm contextmenu,新增處理程式。void...
MFC彈出選單使用筆記
目的 本文中使用listcontrol控制項顯示資訊病人的資訊,在控制項中右擊彈出選單,選中選單中的 新建病人資訊 項,出現病人資訊視窗 開發環境 vs2008sp1 步驟 1 在窗體上放置listcontrol控制項,初始化裡面的內容 2 設計選單 選中資源檢視 右擊新增資源 選中 menu 插入...
MFC建立選單
一 利用現有的選單資源建立 1 首先在資源檢視中的menu下新建乙個選單資源。2 然後將新建的選單編輯為你想要的彈出式選單的樣子。3 再在cview類中新增wm rbuttondown訊息,在訊息函式onrbuttondown 中新增如下 cpp view plain copy void cmenu...