I changed it recently but the buttons are not perfect, I'm missing "clicked state" effect, by clicked I don't mean "mouse on" or "pushed" (indicating status) but a visual representation of a state between clicked and released mouse button. Maybe there's some way to achieve it with WSH PM?
yep. there is a simple themed buttons sample bundled with the component which you could look at. also, this is the relevant documentation (from docs\interfaces.txt)
interface IThemeManager {
Methods:
// For parts and states: http://msdn.microsoft.com/en-us/library/bb773210%28VS.85%29.aspx
// You get vsstyle.h and vssym32.h (won't included in Flags because they are too large) here:
// http://dl.dropbox.com/u/2451120/vsstyles_h.7z
void SetPartAndStateID(partid, stateid);
// NOTE: stateid should be 0, it's unused now.
boolean IsThemePartDefined(partid, stateid = 0);
// clip_*: set clipping area.
void DrawThemeBackground(IGdiGraphics, x, y, w, h, clip_x = 0, clip_y = 0, clip_w = 0, clip_h = 0);
}
edit: because these buttons are "themed", how they look will depend on your windows theme. if you don't want that, you can style it however you like with your own images or use the drawing functions that are built in.