CButton

生活百科 2023-01-25 16:55生活百科www.aizhengw.cn

CButton

类CButtonBitmap是从类CButton继承而来的,不过它支持按钮的图像标籤。一个CButtonBitmap对象可以分别为它的四种状态(未按下、按下、获得焦点和禁止存取)设定不同的点阵图。

基本介绍

  • 外文名CButton
  • 特点支持按钮的图像标籤
  • 状态未按下、按下、获得焦点等
  • 成员函式构造一个CButton对象

简介

类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 <afxwin.h>

成员函式

构造函式

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对象
上一篇:BJD6140 下一篇:DVI接口

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有