如何在功能区按钮上对齐文本
How to allign text on ribbon button?
在添加功能区按钮时,我也为它提供了名称。它正在执行所需的操作,但字符串的位置很荒谬。它不应该在图片上方,而应该在图片下方。有什么建议吗。添加代码片段和屏幕截图。
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);
打印应该刚好在图像下方
没有办法改变这一点。这就是色带的显示和绘制方式。
"大模式"下的按钮文本始终绘制在图标下方。我在代码中看不到任何可以改变这种行为的内容,我永远不会改变这种行为,因为这是人们希望/期望在标准功能区中看到的默认行为。
早期
AddCategory(m_strMenuName,NULL,NULL,NULL,i,NULL);
现在
AddCategory(m_strMenuName,NULL,NULL,CSize(16,16),CSSize(32,32),i,NULL);
说明:在调用create时,它放置文本时假设所有图像大小都很小,因为它还没有定义。
相关文章:
- 如何创建一个QTableWidgetItem,用长文本右对齐,左边有省略号
- 如何减少代码的运行时间以对齐文本?
- Win API对齐按钮上的文本
- 如何在Imgui列中右对齐文本?
- 如何使用X11中的XFT字体在窗口中央对齐文本
- 在矩形形状的中心对齐文本
- 如何使用 cout 将文本右对齐
- 在输出输入文本时对齐输入的文本
- 如何在 CDateTimeCtrl 中居中对齐文本
- 如何左对齐标题文本VS C++
- 对齐静态字符串文本
- Qt:使用样式表将文本居中和左对齐
- C++ 将文本文件中不同行/位置的相同单词与每行中的相同位置对齐
- 构建 QPushButton 与 QIcon 左对齐和文本中心对齐
- QSS QTabBar文本对齐不起作用
- wxWidgets工具栏文本对齐方式
- 将输出文本与 cout 对齐到右侧
- 从最高到最低对字符串数组和双数组进行排序(并行数组)并对齐文本
- 对齐文本并更改空格量
- 如何在功能区按钮上对齐文本