MFC 選單操作

2021-07-03 09:33:17 字數 1285 閱讀 5069

1.選單是視窗框架的組成部分,如果我們要匯入自定義的選單,可以通過以下語句實現

在cmainframe::oncreate的函式中新增如下**段

setmenu(null);//將原本的選單項去除

cmenu menu;//新定義乙個選單物件

menu.loadmenu(idr_mainframe);//將id為idr_mainframe選單資源載入到menu物件中

setmenu(&menu);//將menu物件設為框架類物件的選單

menu.detach();//斷開選單資源與選單物件的關聯

2.生成複選標記選單項,這段**是在框架類中實現的

getmenu()->getsubmenu(0)->checkmenuitem(0,mf_byposition | mf_checked);
3.設定預設選單項,即選單成黑體加粗

getmenu()->getsubmenu(0)->setdefaultitem(1,true);/
4.影象標記選單項

getmenu()->getsubmenu(0)->setmenuitembitmaps(0,mf_byposition,&m_bitmap,&m_bitmap);
5.將選單設定不能使用

getmenu()->getsubmenu(0)->enablemenuitem(1,mf_byposition | mf_disabled);
6.右鍵彈出選單

在onrbuttondown函式中,新增如下**:

cmenu menu;

menu.loadmenu(idr_menu1);

cmenu *ppopup=menu.getsubmenu(0);

clienttoscreen(&point);//

ppopup->trackpopupmenu(tpm_leftalign | tpm_rightbutton, point.x, point.y,this);

menu1.insertmenu(1,mf_byposition|mf_string, (uint)id_test1,"id_test1");

8.刪除選單

用deletemenu()、removemenu()函式來刪除指定位置的選單/選單項

9.新增右鍵選單

menu1.trackpopupmenu(tpm_rightbutton, pt.x, pt.y, this);

MFC操作 右鍵彈出選單事件

一 在資源編輯器中建立乙個選單資源 新建乙個選單資源,比如把選單的id號為idc popmenu。此選單有一項兩層,即有乙個可彈出的選單項,而此選單項的彈出內容即為將要建立的彈出式選單的內容。至於每乙個選單項的訊息對映,與一般的選單相同。二 使用cmenu類物件 cmenu類的成員函式較多,但建立彈...

MFC建立選單

一 利用現有的選單資源建立 1 首先在資源檢視中的menu下新建乙個選單資源。2 然後將新建的選單編輯為你想要的彈出式選單的樣子。3 再在cview類中新增wm rbuttondown訊息,在訊息函式onrbuttondown 中新增如下 cpp view plain copy void cmenu...

MFC中的選單

mfc的選單 1.相關類 cmenu類 封裝了選單控制代碼以及操作選單的api函式.2.cmenu類的使用.新增選單資源 載入選單資源 cmenu loadmenu 將選單新增到視窗 cwnd setmenu 3.cmenu的選單處理 on command on update command ui ...