我已经实现了从 CButton 继承的自定义按钮,并使用 uxtheme.dll(带有 BP_PUSHBUTTON 的 DrawThemeBackground)来绘制它。
一切正常,但我有两种状态(正常和按下),热状态是相同的。这意味着当用户将光标放在按钮上时,无论按钮状态(按下与否),它都会被绘制。
这对用户来说有点混乱,我想改变按钮在 Pressed & Hot 状态下的绘制方式。有人知道方法吗?
我也考虑过对整个绘图进行自定义,但按钮使用渐变、边框、阴影等。所以要实现相同的外观和感觉自己绘制所有东西并不容易。有没有办法找到dll的源代码或者知道怎么做?
提前致谢。
哈维尔
注意:我想我可以通过使用 CMFCButton 并覆盖 OnDraw 方法来实现我想要做的事情。让控件在 OnDrawBorder 上绘制按钮,然后自己绘制内部按钮。但我需要知道控件在按下时如何绘制内部按钮。这是一个渐变,我猜不出它是如何完成的。有人有线索吗?