c++ - CToolbar 是否支持带有 32 位图标的按钮?

标签 c++ user-interface mfc

问题:
将 32 位图标添加到 CToolbar 实例似乎无法正常工作
(图像质量发生变化)。

我在WEB上遇到2类题目,与我的问题相关:

奇怪的是文档中提到“16 色”,而不是 2^16 色, 所以我可能会错误地解释这些信息。

最佳答案

如果您查看 CToolBar::LoadBitmap,您会看到位图是使用 AfxLoadSysColorBitmap 加载的。快速查看该函数会发现颜色表固定为 16 种颜色。

// make copy of BITMAPINFOHEADER so we can modify the color table
const int nColorTableSize = 16;

与 MFC 中的大多数东西一样,如果您重写了足够多的方法,您可能可以让它加载 32 位位图,但正如您可能在其他地方看到的那样,您确实想要使用 CMFCToolBar 不仅支持更高的颜色深度,还有许多其他改进的功能。

关于c++ - CToolbar 是否支持带有 32 位图标的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21427159/

相关文章:

c++ - 为什么不允许使用可变长度数组作为 vector 元素?

c++ - 使用 C++/WinAPI 在对话窗口中释放资源的适当消息是什么

windows - wglCreateContext 抛出 INVALID_OPERATION 异常

javascript - 是否可以使用 'thread' Javascript 并保持对 UI 的访问?

c++ - 为什么需要类型转换 (UINT)(void*)(DWORD)?

c++ - 同一容器中的共享指针和原始指针

c++ - 在派生类模板中专门化基类的成员函数

c++ - 使用外部函数作为成员函数指针

php - GUI MySQL 数据库前端

java - 使用 Jython 和 Swing 处理事件