自绘按钮控件的2个注意点

来源:互联网 发布:毛少将知乎 编辑:程序博客网 时间:2024/06/09 21:28

1、声明自绘属性:有两种方式,一种是通过资源视图修改按钮的属性,将Owner Draw改为true;另一种是通过代码实现。

在重写的PreSubClassWindow中添加一句自绘属性:

void CMyButton::PreSubclassWindow(){// TODO: 在此添加专用代码和/或调用基类// 自绘属性this->ModifyStyle(0,BS_OWNERDRAW);CButton::PreSubclassWindow();}



2、绘制按钮:通过重载虚函数DrawItem实现,注意:重载的是虚函数DrawItem,而不是添加WM_DRAWITEM消息的处理函数。

声明如下:

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);


如果添加的是WM_DRAWITEM的处理函数,那么执行时会出现断言错误。




3、具体画成什么样我就不讲了,可以各自发挥。






0 0