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

标签 c++ visual-studio-2010 mfc toolbar cmfctoolbar

我创建了一些 ( CMFCToolBar ) 工具栏并向它们添加了按钮和图标。我在微软官方网站上看到 CMFCToolBar采用 23x22 按钮大小和 16x15 图标大小(引用:link)。

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

image

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


更新

我调用 SetSize创建工具栏之前的功能,但图标仍然显得有点模糊:

Image

我想知道是否有办法设置图标/按钮透明或者像我们可以通过TBSTYLE_TRANSPARENT设置工具栏透明一样清楚在CreateEx功能。

最佳答案

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

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

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

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

这是answered here也是。

关于c++ - 如何在mfc中设置大小和透明/清除CMFCToolBar按钮和图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52251885/

相关文章:

c++ - 如何在 C++ 中使用泛型 vector

c++ - Raspberry Pi 3 上的 QML 性能

c++ - VS2010 未在预处理器条件下正确处理 "includes"

visual-studio-2010 - 错误 LNK2001 : unresolved external symbol

c++ - 如何设置 native 远程调试?

c++ - 错误 LNK2005 : "void __cdecl operator delete(void *)" (? ?3@YAXPAX@Z) 已在 LIBCMTD.lib(delete_scalar.obj) 中定义

c++ - 声明对中的 "Error: no matching function for call..."

初学者程序员的 C++ 开源项目?

visual-studio - 有没有一种在 Visual Studio 中显示长 XML 注释而不导航到定义的好方法?

windows - MFC 应用程序在 NTDLL.dll 中崩溃