为什么 CToolBar 中使用高深度颜色的禁用按钮只是灰色框?
我已经按照这个问题的步骤进行操作: MFC 工具栏图标具有更高的颜色深度?
该代码有效。但我还有另一个问题 - 任何禁用的按钮都只是灰色的框。 一旦它们被启用——它们就完全是它们应该的样子。
我怀疑 CToolBar 不知道如何使提供的图像变灰 - 有人可以帮忙吗?
提前致谢。
I've followed the steps from this question:
Higher color depth for MFC toolbar icons?
The code works. But I have another problem - any disabled buttons are just grey boxes.
Once they are enabled - they are exactly as they should be.
I suspect that the CToolBar doesn't know how to grey out the supplied images - can anyone help?
thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
CToolBar 实际上最多接受三个图像列表,每个图像列表用于处理按钮的正常、禁用和突出显示状态。
为了完成我所需要的 - 只是正常和禁用按钮状态。我需要两张图片。一个带有正常彩色图标,另一个带有灰色图标。
将图像作为位图资源添加到您的项目中 - 修改并记下 ID
创建两个图像列表并相应地设置它们:(m_wndToolBar 是我项目中的工具栏)
要设置工具栏的突出显示版本:
瞧!
CToolBar actually accepts up to three imagelists each to handle the normal, disabled and highlighted states of the button.
To accomplish what I need - just normal and disabled button states. I need two images. One with normal coloured icons and the other with greyed out icons.
Add the images as Bitmap resources to your project - amend and make note of the IDs
Create two imagelists and set them accordingly: (m_wndToolBar is the toolbar in my project)
To set the highlighted versions of the toolbar:
et voila!
通常,要获得高颜色按钮和正确的灰色图像,需要做两件事:
不幸的是,这也意味着您必须直接在应用程序的 .rc 资源文件中编辑工具栏定义。
Usually two things are necessary to get the high color buttons and the correctly greyed out images:
Unfortunately this also means that you have to edit the Toolbar definition directly in the .rc resource file of the application.