通常一个自绘按钮有两种方法,一个是在宿主类绘制,一个是在按钮类绘制。
如果一个按钮在宿主类绘制,按钮的owner draw必须设置为true,否则false。
对于宿主类绘制按钮,其通过对WM_DRAWITEM消息的响应来绘制的,
这个消息对应的callback函数就是OnDrawItem。如果owner draw被设置为false,
那么宿主类将向按钮类发送消息(WM_DRAWITEM),这时按钮类WM_DRAWITEM
对应的callbackDrawItem函数就得到被调用,从而可以在按钮类的DrawItem方法中实现自绘。
具备上述属性的控件包括:button,combobox,list box等
通常一个自绘按钮类通过重写其PreSubclassWindow, DrawItem来实现自绘过程。