菜单单选和复选状态的区别
复选和单选状态下通过GetMenuState()返回的值是不同的:
复选状态下返回的值是8也就是MF_CHECKED标识
而单选状态返回值是520转换为十六进制为208。
在MSDN中定义的标识:
#define MF_UNCHECKED 0x00000000L
#define MF_CHECKED 0x00000008L
#define MF_USECHECKBITMAPS 0x00000200L
由此可知在单选状态下应该是MF_CHECKED| MF_USECHECKBITMAPS
自绘制菜单的实现思路
有两个虚函数必须重载分别为MeasureItem(LPMEASUREITEMSTRUCTlpMIS)和</

本文介绍了MFC中菜单的单选和复选状态区别,重点解析了自绘制菜单的实现思路,包括 MeasureItem 和 DrawItem 函数的重载,以及如何根据GetMenuState()的返回值处理单选按钮和复选按钮的绘制。最后强调了在程序中使用自绘制菜单时,需动态生成并设置MF_OWNERDRAW标识位。
最低0.47元/天 解锁文章
575

被折叠的 条评论
为什么被折叠?



