vs2017 MFC新增複選標記選單

2021-09-05 12:25:21 字數 1041 閱讀 6737

按照msdn中的demo已無法生效:

// get the popup menu which contains the "test" menu item.

cmenu* mmenu = getmenu();

cmenu* submenu = mmenu->getsubmenu(3);

// check the state of the "test" menu item. check the menu item

// if it is currently unchecked. otherwise, uncheck the menu item

// if it is not currently checked.

uint state = submenu->getmenustate(id_help_test, mf_bycommand);

assert(state != 0xffffffff);

if (state & mf_checked)

submenu->checkmenuitem(id_help_test, mf_unchecked | mf_bycommand);

else

submenu->checkmenuitem(id_help_test, mf_checked | mf_bycommand);

並且呼叫getmenu()->getsubmenu()也會引發異常。

獲取選單可採用如下方式:

cmenu menu;

menu.loadmenua(idr_mainframe); 

cmenu *psubmenu = menu.getsubmenu(2);

if (null == psubmenu)

return;

如若在選單項前顯示標記核取方塊,在類檢視中,找到對應的模擬如ctestview->屬性->找到events->找到對應的選單id,展開後新增update_command_ui響應函式。

在響應函式中呼叫pcmdui->setcheck(0/1);用於控制標記顯示與否。

VS2017新增專案引用

最近再做乙個oj的核心,練習過程中想要把對於編譯器的呼叫單獨做成乙個dll,提供程式介面,以便能夠在其他專案中直接引用,首先通過vs2017建立乙個dll專案,生成後,在debug資料夾中可以找到此dll,之後按照我的想法新建乙個專案,並在專案中新增引用,找到此dll,確定新增。編譯過程並沒有報錯,...

VS2017中新增QWebEngineView模組

開發環境 qt 5.9.0 vs2017 vs2017 在生成新的工程時,會預設帶了一些模組。如果新增新的模組如何操作呢?目前就新增 qwebengineview 模組為例。在生成新的工程時預設帶的模組,裡面沒有qwebenginewidget模組,所以需要自己手動配置 圖一 第一步 中新增 qwe...

VS2017中文版中MFC設計時核取方塊批量處理技術

vs2017 mfcacheckboxdlg.cpp 實現檔案 include pch.h include framework.h include mfcacheckbox.h include mfcacheckboxdlg.h include afxdialogex.h include resou...