今天想做个自画按钮,以前的自画按钮都是自己从CWnd派生,处理CLICK事件,在WM_PAINT中绘制.今天从CButton中派生,也在WM_PAINT中绘制,发现不行.一单击,就出现了缺省按钮的样子,不动它倒是可以随便画.
看看文档,才发现要用BS_OWNERDRAW风格,重载DrawItem.就可以随便绘制了.
从CButton派生做自己的按钮比从CWnd爽,不同自己处理鼠标事件,而且可以对CHECKBOX , RADIOBUTTON一起处理.
可DRAWITEMSTRUCT中没有关于MOUSE_HOVER的状态,就是鼠标在按钮上的状态,不过根据前面文章说的"如何判断鼠标在窗口内"可以很容易实现鼠标进入按钮的状态绘制.