我选了两幅不同的位图标记一个菜单项,菜单项被选中时显示一副位图,不选中时显示另一幅位图。
首先,我新建了两幅位图资源,然后分别建立bitmap对象 加载他们, 然后利用函数SetMenuItemBitmaps 实现目标。但是结果只能显示一副位图,另一幅显示不了,请高手们多多指点。

解决方案 »

  1.   

    你的SetMenuItemBitmaps是如何用的啊
      

  2.   

    GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps(ID_EIDT_CUT, MF_BYCOMMAND, 
          &m_MAP1, &m_MAP2)
    MAP1和MAP2是两幅位图。。
      

  3.   

    上面的代码看不出什么问题,如果你调用了
    GetMenu()->GetSubMenu(0)->CheckMenuItem(ID_EIDT_CUT,MF_CHECKED |MF_BYCOMMAND);显示不出来另一个位图的话,一个可能是你的位图是不是太大了,这显示时是显示左上角那一小块,而那一小块没有图像。
    如果m_MAP1和m_MAP2是局部变量的话,要调用
    m_MAP1.Detach();
    m_MAP2.Detach();
      

  4.   

    比较一下m_MAP1与m_MAP2的异同,也许能够找到答案。
      

  5.   

    把m_MAP1, m_MAP2都设成能显示的那一幅,然后看看在两种状态是不是都能显示。
    是的话,说明不能显示的那副位图有问题;
    否的话,说明你菜单项也许没正确Check