gpt4 book ai didi

c++ - 为什么在 CToolBar 中使用高深度颜色的禁用按钮只是灰色框?

转载 作者:行者123 更新时间:2023-11-30 02:08:23 25 4
gpt4 key购买 nike

我已经按照这个问题的步骤进行操作: Higher color depth for MFC toolbar icons?

代码有效。但我还有另一个问题 - 任何禁用的按钮都只是灰色框。一旦它们被启用 - 它们就完全是它们应该的样子。

我怀疑 CToolBar 不知道如何使提供的图像变灰 - 谁能帮忙?

提前致谢。

最佳答案

CToolBar 实际上接受最多三个图像列表,每个图像列表处理按钮的正常、禁用和突出显示状态。

完成我需要的 - 只是正常和禁用的按钮状态。我需要两张图片。一个带有正常彩色图标,另一个带有灰色图标。

将图像作为位图资源添加到您的项目中 - 修改并记下 ID

创建两个图像列表并相应地设置它们:(m_wndToolBar 是我项目中的工具栏)

CImageList imgListActive;
CImageList imgListDisabled;
/* Load your CImageLists */
m_wndToolBar.GetToolBarCtrl().SetImageList(&imgListActive);
m_wndToolBar.GetToolBarCtrl().SetDisabledImageList(&imgListDisabled);

设置工具栏的高亮版本:

CImageList imgListHighlighted;
/* Load your CImageList */
m_wndToolBar.GetToolBarCtrl().SetHotImageList(&imgListHighlighted);

等瞧!

关于c++ - 为什么在 CToolBar 中使用高深度颜色的禁用按钮只是灰色框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6898693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com