gpt4 book ai didi

c++ - Windows 中禁用控件绘画的算法?

转载 作者:行者123 更新时间:2023-11-30 20:16:32 26 4
gpt4 key购买 nike

在 Windows 中,当某个控件被禁用时,它看起来呈灰色。什么样的算法可以达到这样的效果?

谢谢

最佳答案

我不知道 Windows 是如何做到这一点的,但如果您正在寻找通常如何完成的示例,请查看 Qt's QPalette class (特别是 QPalette::ColorRole 部分中的屏幕截图)。

Qt 的作用是根据 ColorRoles 选择颜色来绘制小部件部件,例如有一个“Button”ColorRole,它代表按钮内部的颜色。当按钮想要绘制自身时,它会询问其 QPalette 对象应该为 Button ColorRole 使用什么颜色,然后使用该颜色绘制其内部。该按钮包含一个与其正常外观一起使用的 QPalette 对象,以及与其禁用外观一起使用的第二个 QPalette 对象...并且由禁用外观 QPalette 指定的颜色通常更倾向于灰色,而不是正常的 QPalette黑/白(尽管由 QStyle 的设计者决定它们应该是什么)。

(当然,让控件看起来呈灰色的快速而肮脏的方法是将控件中每种颜色的红色、绿色和蓝色值与中灰色...但该技巧无法提供足够的控制来让您在所有情况下获得所需的精确外观)

关于c++ - Windows 中禁用控件绘画的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8349807/

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