將變灰的選單項啟用,其實現方法是通過呼叫 cmenu::enablemenuitem函式來實現,
該函式用法如下:
uint enablemenuitem(uint nidenableitem,uint nenable);
其中引數「nidenableitem」為選單項的id號,用於指定被操作的選單項;引數
「nenable」為動作引數,用於說明要對被指定的選單進行何種操作,其取值為
mf_disabled、mf_enabled、或mf_grayed 與 mf_bycommand 或mf_byposition的
「或運算」,其各取值常量的含義為:
mf_disabled:表示用命令id拾取選單項,為預設
mf_enabled:在當前選單中用基於零的偏移量來拾取選單項。
mf_grayed:使用者對選單不可用
mf_bycommand:使用者對選單可用
mf_byposition:使用者對選單不可用,並且選單以灰色顯示
從上面的介紹可以知道,只要在呼叫enablemenuitem函式時,將其引數"nenable"
的值設定為mf_bycommand|mf_enabled,即可將指定的選單項啟用。
程式實現如下:
void cmyview::onrbuttondown(uint nflags,cpoint point)
pupup->enablemenuitem(id_your_id,nenable);
//顯示選單
clienttoscreen(&point); popup->trackpopupmenu(tpm_leftalign|tpm_rightbutton,point.x,point.y,this);
delete menu;
}
系統右鍵選單新增 獲取許可權 選單
通過修改登錄檔實現,win10也適用 新建管理員取得所有權.reg,然後用記事本的方式開啟,複製以下 貼上進去 windows registry editor version 5.00 hkey classes root shell runas 管理員取得所有權 noworkingdirectory...
Delphi擴充套件系統選單
hkey classes root folder shell 可修改對任意資料夾單 擊右鍵彈出的選單的選單項 hkey classes root directory shell 可修改對任意目錄單擊 右鍵彈出的選單的選單項 hkey classes root drive shell 可修改對任意驅動...
不使用HOOK實現系統選單的自繪
這篇文章的作者很大程度上簡化了選單的自繪,缺陷是沒有實現系統選單的自繪,第二次彈出系統選單的時候才開始自繪,有時候一直都是預設的系統選單,不穩定。問什麼第一次彈出的時候沒有自繪?那我要是在wm initmenu和wm initmenupopup子前的訊息中就修改系統選單項可不可以?答案是可以的。我們...