MFC選單的使用

2021-05-28 01:36:45 字數 2330 閱讀 4892

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...