我想知道是否可以在CMFCToolbar
中的顶级CMFCToolBarButton
项目(如File
中设置图片(并仅显示该图片,而不显示文字), Edit
,Help
等):
我尝试了什么,但没有效果:
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);
在此之前,我正在设置一些自定义图像(实际上是VS2010生成的MFC项目):
if (CMFCToolBar::GetUserImages() == NULL)
{
// load user-defined toolbar images
if (m_UserImages.Load(_T(".\\UserImages.bmp")))
{
CMFCToolBar::SetUserImages(&m_UserImages);
}
}
那么,这可能与否?我认为它是,因为CMFCMenuBar
派生自CMFCToolBar
,它支持它。
更多信息: 实际上,我想要实现的是(红色矩形):
所以我希望在经典的菜单栏中(不像图像中的色带),创建一个图像按钮并右对齐。
答案 0 :(得分:1)
答案 1 :(得分:0)
我这样做了,似乎工作正常:
VERIFY(CMFCToolBar::GetImages()->Load(IDB_MY_NEW_FILE,nullptr,TRUE));
int imageIndex = CMFCToolBar::GetImages()->GetCount();
m_wndToolBar.InsertButton( CMFCToolBarButton(ID_FILE_MYNEWICON,imageIndex) );