添加功能区按钮,我也提供了它的名称。它正在执行其所需的操作,但字符串的放置是荒谬的。它不应该在图像上,而是在它下面。请给我任何建议。添加代码段和屏幕截图。
RibbonButtonProp* mRibbonProperties;
bool m_bsetlargeimage = FALSE;
if (ButtonProp.Lookup(m_nMenuItemID, mRibbonProperties) != 0)
{
if (ButtonProp[m_nMenuItemID]->m_bIfSmallButton == FALSE)
{
m_PanelImage.SetImageSize(CSize(32, 32));
m_PanelImage.Load(ButtonProp[m_nMenuItemID]->m_nImageResourceId);
m_bsetlargeimage = TRUE;
}
else
{
m_PanelImage.SetImageSize(CSize(16, 16));
m_PanelImage.Load(ButtonProp[m_nMenuItemID]->m_nImageResourceId);
m_bsetlargeimage = FALSE;
}
pRibbonButton = new CMFCRibbonButton(m_nMenuItemID, m_strMenuItemName, m_PanelImage.ExtractIcon(ButtonProp[m_nMenuItemID]->m_nImageIndex));
pRibbonButton->SetAlwaysLargeImage(m_bsetlargeimage);
答案 0 :(得分:0)
无法改变这一点。这是显示和绘制色带的方式。
“大模式”中的按钮文字始终位于图标下方。我在代码中看不到任何改变这种行为的东西,我永远不会改变它,因为它是人们希望/期望在标准功能区中看到的默认行为。
答案 1 :(得分:0)
此前
AddCategory(m_strMenuName,NULL,NULL,NULL,NULL,i,NULL);
现在
AddCategory(m_strMenuName,NULL,NULL,CSize(16,16),CSize(32,32),i,NULL);
说明:正在放置文本假设所有图像大小都很小,因为在调用create时它没有被定义。