0

我想知道是否可以CMFCToolbar在顶级CMFCToolBarButton项目(如FileEditHelp等)中设置图像(并仅显示该图像,不显示文本):

在此处输入图像描述

我试过了,但没有效果:

CMFCToolBarMenuButton* button = DYNAMIC_DOWNCAST(CMFCToolBarMenuButton, m_wndMenuBar.GetMenuItem(0));
button->m_bUserButton = TRUE;
button->m_bImage = TRUE;
button->m_bText = FALSE;
button->SetImage(1);
m_wndMenuBar.UpdateButton(0);

在此之前,我正在设置一些像这样的自定义图像(它实际上是生成的 MFC 项目,来自 VS2010):

if (CMFCToolBar::GetUserImages() == NULL)
{
    // load user-defined toolbar images
    if (m_UserImages.Load(_T(".\\UserImages.bmp")))
    {
        CMFCToolBar::SetUserImages(&m_UserImages);
    }
}

那么,这可能吗?我认为它是,因为CMFCMenuBar它来自CMFCToolBar,它支持它。

更多信息: 实际上,我想要实现的是这个(红色矩形):

在此处输入图像描述

所以我想在一个经典的菜单栏中(不是图像中的功能区),创建一个图像按钮并右对齐它。

4

2 回答 2

1

如果您尝试使用下拉组合框显示“帮助”菜单项,那么可能是内置的

CMFCMenuBar::EnableHelpComboBox

应该为你工作。在此处查看帮助。

于 2012-08-08T13:14:15.573 回答
0

我这样做了,它似乎工作正常:

VERIFY(CMFCToolBar::GetImages()->Load(IDB_MY_NEW_FILE,nullptr,TRUE));
int imageIndex = CMFCToolBar::GetImages()->GetCount();
m_wndToolBar.InsertButton( CMFCToolBarButton(ID_FILE_MYNEWICON,imageIndex) );
于 2013-06-24T14:08:11.247 回答