一、沒有updatecmdui控制代碼時
mfc中預設的習慣是當沒有updatecmdui控制代碼時程式是使能(enable)選單,選單自動變成使能,只要關掉預設值就可以了,把下面的**加入你的程式
cmainfrm::cmainfrm
然後在訊息響應函式中新增如下**:
cmenu* m_menu = getmenu();
cmenu* submenu = m_menu->getsubmenu(0);
submenu->enablemenuitem(id_file_new, mf_bycommand | mf_grayed);
一、有updatecmdui控制代碼時
在框架中新增選單id的on_update_command_ui訊息,在相應函式引數中會有「ccmdui* pcmdui」這個引數,新增如下**:
pcmdui->enable(false);
就可是這個選單變灰顯
getdlgitem(id_paste)->enablewindow(false);
cmenu menu;
if(menu.loadmenu(idr_***_menu))
選單項的禁用變灰解決方法
1 問題描述 今天在做基於對話方塊的mfc程式時,根據條件禁用了某一選單項 測試發現該選單項確實功能無效,但是沒有變灰的效果。2 解決方法 根據網上資料,對於視 檔類mfc程式,在主框架類cmainframe的建構函式中把成員變數m bautomenuenable false就可以解決問題了。但是基...
MFC自學(選單項)
一 選單的設計 選單是作為一種資源定義的,單擊 resourse view 資源檢視,在開啟的視窗裡的 menu 下就能進行視覺化編輯 二 讀取選單字串和新增操作 todo 在此新增命令處理程式 cmenu pmenu null int icout 1 操作一 讀取頂級選單名稱 pmenu cmai...
遍歷選單項
遍歷任何窗體的menuitem 用了兩個多小時 略做修改,就可以實現其他功能,getmenuiteminfo提供的資訊足夠用了 procedure explorermenuitem menuhandle thandle varmenuindex integer menucaptionarray ar...