后来因为其他程序需要,改成#define WINVER 0x0501,结果菜单里面的图标就没了,菜单的背景也都变成了系统的灰色

经过痛苦的查找,终于在atlctrlw.h里面找到一点线索
// Define _WTL_CMDBAR_VISTA_MENUS as 0 to exclude Vista menus support
#if !defined(_WTL_CMDBAR_VISTA_MENUS) && (WINVER >= 0x0500) && (_WIN32_WINNT >= 0x0501) && (_WIN32_IE >= 0x0501)
#define _WTL_CMDBAR_VISTA_MENUS 1
#endif
于是在头文件增加
#define _WTL_CMDBAR_VISTA_MENUS 0 // Currently we have a drawing issue for user-defined bitmap
搞定!
在将WINVER定义从0x0500更改为0x0501后,菜单图标消失且背景变为系统默认灰色。通过在头文件中添加_WTL_CMDBAR_VISTA_MENUS0的定义,成功解决了菜单图标显示问题。

1905

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



