动态创建的Menu如何设置其Checked属性 - C++ Builder / Windows SDK/API
HMENU hMenuDst = ::CreatePopupMenu( );
InsertMenu(hMenuDst,0,MF_BYPOSITION,1,"子菜单");
这时候如果要使“子菜单”前面打勾该如何做?
int iResult = ::TrackPopupMenu( hMenuDst, TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RETURNCMD, m_XLeft+20, m_YBottom+50, 0, Handle, NULL );
DestroyMenu( hMenuDst );
[解决办法]
用API: CheckMenuItem就行了,如下:
- C/C++ code
::InsertMenu(hMenuDst, 0, MF_BYPOSITION, 1, "子菜单");::CheckMenuItem(hMenuDst, 0, MF_BYPOSITION | MF_CHECKED);