删除“自定义快速访问工具栏”按钮

时间:2012-08-01 12:10:34

标签: c++ windows mfc

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

1 个答案:

答案 0 :(得分:1)

经过多次头痛后,我们发现没有干净的解决方案只能从工具栏中删除该按钮。相反,我们选择将要显示的按钮放在选项卡组的快速访问栏中。这些按钮将出现在右侧(单词中的帮助图标旁边)。为了复制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,而不必担心摆脱那个愚蠢的自定义按钮。您还可以自由地在按钮上使用标签。