如何在mfc中设置大小和透明/清除CMFCToolBar按钮和图标?

How to set size and Transparent / Clear CMFCToolBar Button and Icon in mfc?

我创建了一些 (CMFCToolBar) 个工具栏并向它们添加了按钮和图标。我在 Microsoft 的官方网站上看到 CMFCToolBar 需要 23x22 按钮大小和 16x15 图标大小(参考:link)。

如果我使用 16x15 的图标,图标会显得模糊。这是因为图标最初的大小为 16x16。我使用 SetSizes(CSize (23,23), CSize(16,16)) 函数更改图标大小,但图标显示不正确:

还有其他设置图标和按钮大小的方法吗?


更新

我在创建工具栏之前调用了SetSize函数,但图标仍然有点模糊:

我想知道有没有什么方法可以设置Icon/button透明或者像我们可以通过CreateEx函数中的TBSTYLE_TRANSPARENT设置toolbar透明一样说清楚

SetSizes是影响整个库的静态函数。

它应该在您创建任何工具栏或菜单对象之前调用。 最佳位置在您申请的 InitInstance 中。

但我的建议是:使用推荐的尺码! 16x15 和 23x22....

可以使用标准 32 位 RGB/A 位图实现透明度。 如果您有 16 色位图,则应使用 RGB(192,192,192) 作为背景的标准颜色。它会自动替换为所需的背景颜色。

这也是 answered here