1

我正在做一个项目,我们希望有一个不可更改/静态的快速访问栏。我们已经研究过从 CMFCQuickAccessToolbar 继承并删除该按钮,但这些尝试似乎没有结果。完全摆脱按钮就完全摆脱了工具栏。任何人都有这方面的经验,或替代方法?

4

1 回答 1

1

经过一番头疼后,我们发现没有干净的解决方案可以从工具栏中仅删除该按钮。相反,我们选择将我们想要显示的按钮放在选项卡组的快速访问栏中。这些按钮将出现在右侧(在 word 中的帮助图标旁边)。为了复制 QA 按钮的外观,我必须创建一个图像列表并将我们的按钮加载到其中。

CImageList theList;
CBitmap bm;
bm.LoadBitmap( IDB_QASMALL );
theList.Create(16,16, ILC_COLOR32 | ILC_MASK, 5, 0);
theList.Add(&bm, RGB(192,192,192));

然后,我创建了要添加到选项卡组的ribbonButtons,具有正确的命令ID、空文本和图像列表中的正确图标。

CMFCRibbonButton* button = new CMFCRibbonButton( ID_SOMECOMMAND, _T("\na"), theList.ExtractIcon(<IconOffset>));
m_wndRibbonBar.AddToTabs(mp);

这不是一个完美的解决方案,但它至少为我们提供了类似的 UI,而无需担心摆脱那个愚蠢的自定义按钮。您还可以自由地在按钮上使用标签。

于 2012-08-06T19:18:22.910 回答