How to draw Windows 7 taskbar like Shaded Buttons

2020-03-30 05:42发布

问题:

Windows 7 taskbar buttons are drawn on a shaded background. The color shade somehow reacts on where the mouse is over the button.

I'd like to use such buttons in my application. How can i do that ?

回答1:

Perhaps try

DrawThemeBackground

http://msdn.microsoft.com/en-us/library/bb773289(VS.85).aspx

Give it the BS_PUSHBUTTON constant. I've used this in Windows XP to draw the plush blue XP themed controls, but not in Aero, but it's worth a try.



回答2:

The effect is called "Color Hot-track". It does not seem that there is a dedicated API for that. There are some notes in a developer blog about it:

I found some source code from Rudi Grobler though doing a similar thing:

Make your WPF buttons color hot-track!



回答3:

I believe they're implemented as shader programs on the GPU. Just a simple program which takes the cursor position, and computes a brightness for each pixel based on the distance from that position.



回答4:

It uses the new animation api (Some of it exists in Vista, extended in 7) There is no magic style to set, you still need to do the drawing on your own