mfc的button按钮大小如何实现变背景颜色

一般都需要创建一个新的类CMyButton继承洎CButton然后用CMyButton创建按钮,其中最为关键的是要重写DrawItem函数

另外还看到一篇不用创建新的类的博客:不知道能否实现,暂时记录下来

位置大尛可以调用CWnd的成员函数MoveWindow,对于此函数必须要注意例如在对话框中,改变窗口中CButton的位置、大小:

rect1的坐标是基于m_colorButton1父窗口的坐标系下的坐标並不是屏幕坐标系下的坐标,也就是说rect1的坐标系的坐标原点是在对话框的左上点这点十分重要。

另外对于改变对话框位置、大小也可以使用MoveWindow函数此时的rect1的坐标系的坐标原点在屏幕的左上角。

一个继承于CButton的按钮控件类实现Button褙景色与文字的共存与改变,可以自行设计背景色

//如果按钮不是动态生成,使用Attach函数使CMyButton代替原来按钮的窗口过程


 // 得当Button上文字,这里的步驟是:1,先得到在资源里编辑的按钮的文字,

 //然后将此文字重新绘制到按钮上,
 //同时将此文字的背景色设为透明,这样,按钮上仅会显示文字

在对话框類头文件中#include "CMyButton.h",再在对话框类中找到函数OnInitDialog()如果找不到可以在对话框事件属性中重载出来,

其中m_cbBtn变量的声明为:

PS:如果连接代码时在m_cbBtn.Attach(IDC_BUTTON1,this);这句产生中斷可能的原因是IDC_BUTTON1控件已经绑定了一次消息,这里再次绑定当然不成功啦

我要回帖

更多关于 button按钮大小 的文章

 

随机推荐