CButton
函数名词
CBitmapButton都是从CButton继承而来的,不过它支持按钮的图像标签。一个CBitmapButton对象可以分别为它的四种状态(未按下、按下、获得焦点和禁止存取)设置不同的位图。
简介
类CButton提供了对Windows按钮控件的操作。按钮控件是一个小的矩形子窗口,可以通过单击选中(按下)或不选中。按钮可以单独使用,也可以成组使用,它还可以具有文本标题。在用户单击它的时候,按钮通常要改变显示外观。
详细资料
典型的按钮控件有:复选框、单选钮和下压式按钮(push button)。一个CButton对象可以是它们中的一种,这由它的按钮风格和成员函数Create的初始化决定。
既可以从对话框模板中创建一个按钮控件,也可以直接在代码中创建。
无论哪种情况,都要先调用构造函数CButton构造一个CButton对象,然后调用成员函数Create创建Windows按钮控件并应用到CButton对象上。
在一个从类CButton派生出来的类中,构造可以一步完成。程序员可以为这个派生类编写一个构造函数,并在其中调用Create函数。
如果想处理Windows的通知消息,如位图按钮控件发给它的父对象(通常是从CDialog继承来的)的消息,就要在父对象中加入消息映射入口以及处理每个消息的成员函数。
每个消息映射入口的格式如下:
ON_Notification(id, memberFxn)
其中id指定了发送通知的控件的子窗口的ID,而memberFxn指定了处理该通知的父对象中的成员函数名。
父对象的函数原型格式如下:
afx_msg void memberFxn( );
可能的消息映射入口如下:
映射入口:何时向父对象发送消息
ON_BN_CLICKEN :用户单击按钮时响应消息。
ON_BN_DOUBLECLICKED :用户双击按钮时响应消息。
如果在对话框资源中创建了CButton对象,则在用户关闭该对话框时会自动撤消这个CButton对象。如果在窗口中创建了CButton对象,就可能需要自己撤消它。如果是用new函数在内存的堆中创建该对象的,则在用户关闭该窗口按钮控件时,必须用delete函数撤消它。如果在堆栈中创建了该对象,或者它嵌入在父对话框对象中,系统会自动撤消它。
#include
成员函数
构造函数
CButton 构造一个CButton对象
初始化函数
Create 创建Windows按钮控件并在CButton对象上应用
CButton::Create 创建一个CButton对象
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
lpszCaption是按钮上显示的文本;
dwStyle指定按钮风格,可以是按钮风格与窗口风格的组合,取值有:
窗口风格
WS_CHILD 子窗口,必须有
WS_VISIBLE 窗口可见,一般都有
WS_DISABLED 禁用窗口,创建初始状态为灰色不可用的按钮时使用
WS_TABSTOP 可用Tab键选择
WS_GROUP 成组,用于成组的单选按钮中的第一个按钮
按钮风格
BS_PUSHBUTTON 下压式按钮,也即普通按钮
BS_AUTORADIOBUTTON 含自动选中状态的单选按钮
BS_RADIOBUTTON 单选按钮,不常用
BS_AUTOCHECKBOX 含自动选中状态的复选按钮
BS_CHECKBOX 复选按钮,不常用
BS_AUTO3STATE 含自动选中状态的三态复选按钮
BS_3STATE 三态复选按钮,不常用
以上风格指定了创建的按钮类型,不能同时使用,但必须有其一。
BS_BITMAP 按钮上将显示位图
BS_DEFPUSHBUTTON 设置为默认按钮,只用于下压式按钮,一个对话框中只能指定一个默认按钮
rect指定按钮的大小和位置;
pParentWnd指示拥有按钮的父窗口,不能为NULL;
nID指定与按钮关联的ID号,用上一步创建的ID号。
返回值:若成功,返回非0;否则返回0 CButton::DrawItem 重载该函数绘制一个CButton对象,由框架调用该函数
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
参数:lpDrawItemStruct指向包含绘制项信息和要求类型的LPDRAWITEMSTRUCT结构的长指针
CButton::SetCheck 设置或复位单选按钮和复选按钮的选择状态
void SetCheck(int nCheck);
参数:nCheck 指定设置的状态,0为未选择,1为选中,2为不确定
操作
GetState 检索按钮控件的选中状态、加亮状态和获得焦点状态
SetState 设置按钮控件的加亮状态
GetCheck 检索按钮控件的选中状态
SetCheck 设置按钮控件的选中状态
GetButtonStyle 检索按钮控件的风格
SetButtonStyle 设置按钮控件的风格
GetIcon 检索此前调用SetIcon设置的图标句柄
SetIcon 指定一个在按钮上显示的图标
GetBitmap 检索此前调用SetBitmap设置的位图的句柄
SetBitmap 设置在按钮上显示的位图
GetCursor 检索此前调用SetCursor设置的光标图像的句柄
SetCursor 设置在按钮上显示的光标图像
可覆盖的函数
DrawItem 可以覆盖它来绘制自定义的CButton对象
参考资料
最新修订时间:2022-07-28 13:36
目录
概述
简介
详细资料
参考资料