我已经实现了我的自定义按钮继承自CButton并使用uxtheme.dll(DrawThemeBackground与BP_PUSHBUTTON)绘制它。使用uxtheme.dll自定义绘制按钮
一切工作正常,但我有两个状态(普通和按下),热状态是相同的。这意味着当用户将光标放在按钮上时,无论按钮状态如何(按下或不按下),它都会被画出。
这对用户来说有点令人困惑,我想改变按钮在Pressed & Hot状态下的绘制方式。有人知道一种方式吗?
我也想过定制整个绘图,但按钮使用渐变,边框,阴影等。因此,要自己绘制所有东西并不容易。有没有办法找到DLL的源代码或知道如何做到这一点?
在此先感谢。
哈维尔
注:我想我可能能才达到我想要使用CMFCButton并重写OnDraw的方法来做。让控件在OnDrawBorder上绘制按钮,然后自己绘制内部按钮。但是我需要知道按下时控件如何绘制内部按钮。这是一个渐变,我无法猜测它是如何完成的。有人有线索吗?
请看看我在原始问题中的注释。并感谢您的帮助。 – 2010-05-05 08:35:35