mfc 中使用cbuttonst 載入選單後,發現個很蛋疼的問題,沒有方法禁用其中的子選單項。
本想通過:
m_btn_use.getmenu()->enablemenuitem(id_rotary_param,mf_bycommand | mf_disabled | mf_grayed);
禁用選單欄子選單項,後發現cbuttonst 物件通過getmenu()方法獲取不到cmenu物件,
只能重寫getmenu函式。
cbuttonst 中新增getmenu方法:
cbuttonst .h中setmenu定義後新增
cmenu* getmenu();
cbuttonst .c中setmenu方法後新增
cmenu* cbuttonst::getmenu()
使用:
//m_btn_use為已經載入選單的cbuttonst物件,
cmenu* pmenu= m_btn_use.getmenu() ;
if(pmenu!=null) //啟用子選單
pmenu->enablemenuitem(id_rotary_param,mf_bycommand | mf_enabled);
else //禁用子選單
pmenu->enablemenuitem(id_rotary_param,mf_bycommand | mf_disabled | mf_grayed);
效果如圖:
CButtonST中選單按鈕的構建
前言 基於mfc based dlg實現,環境 vc 6.0 正文 新建乙個mfc based dlg的工程,命名為 trymenu 1 實現效果如圖 一 工具條的建立與載入 1 首先資源檢視中新建乙個menu資源,如圖 其中整個menu資源的id號為 idr menu1,第乙個選單項 one 的i...
關於彈出選單
在用vc做一些軟體功能的時候,為了方便使用,通常會涉及到托盤程式設計。也就是在程式最小化的時候,會在右下角的托盤區域新增乙個圖示,這個圖示通常會支援彈出選單功能。問題就在這裡出現了,你也許會發現我們使用trackpopupmenu撥出的彈出選單,如果使用者在取消選擇的時候,在桌面任意地方單擊,這個選...
Air彈出選單
有時候,需要對某個控制項使用右鍵選單,右鍵選單的好處是可以隱藏,在需要的時候才開啟。下面是 建立自定義選單 新增右鍵選單 var rightmenu contextmenu new contextmenu rightmenu.hidebuiltinitems 有這句話就不顯示 列印 選單了 var ...