现在的位置: 首页 > 综合 > 正文

按钮控件(button)

2013年08月28日 ⁄ 综合 ⁄ 共 2481字 ⁄ 字号 评论关闭
 按钮控件根据其风格属性可派生出:命令按钮(Pushbutton)、检查框(Check Box)、单选按钮(Radio Button)、组框(Group Box)和自绘式按钮(Owner-draw Button)。
  命令按钮是指可以响应鼠标点击的小矩形子窗口。命令按钮的作用是对用户的鼠标单击作出反应并触发相应的事件,在按钮中既可以显示正文,也可以显示位图。
  选择框控件可作为一种选择标记,可以有选中、不选中和不确定三种状态。当一个选择框处于选择状态时,在小方框内会出现一个“√”。
  单选按钮控件一般都是成组出现的,具有互斥的性质,即同组单选按钮中只能有一个是被选中的。当单选按钮处于选择状态时,会在圆圈中显示一个黑色实心圆。
  组框用来将相关的一些控件聚成一组。
  自绘式按钮是指由程序而不是系统负责重绘的按钮。
  此外,选择框、单选框还有一种不确定状态,这时检查框呈灰色显示,不能接受用户的输入,以表明控件是无效的或无意义的。 

常数 说明
BS_RADIOBUTTON 创建一个单选框控件,其标题文本被显示在选择框右侧。该控件允许程序设定为选中和未选两种状态。当一个控件被设定成选中,在同一组(或同一父窗口)范围内的其它单选框控件将全部设设定成未选状态,类似收音机的波段选择开关。
BS_AUTORADIOBUTTON 创建一个自动单选框控件。该控件允许程序设定为选中和未选两种状态。当一个控件被选中,在同一组(或同一父窗口)范围内的其它单选按钮控件将全部设定成未选状态,类似收音机的波段选择开关,同时当用户鼠标单击该控件时,其状态自动设定成选中状态。
BS_CHECKBOX 创建一个选择框控件,其标题文本被显示在选择框右侧。该控件允许程序设定为选中和未选两种状态。
BS_AUTOCHECKBOX 创建一个自动选择框控件,该控件允许程序设定为选中和未选两种状态,同时当用户鼠标单击该控件时,其状态自动在选中和未选状态间切换。
BS_3STATE 创建一个三态选择框控件,其标题文本被显示在选择框右侧。该控件允许程序设定为选中、未选和不定(变灰)三种状态。
BS_AUTO3STATE 创建一个自动三态选择框控件,该控件允许程序设定为选中、未选和不定(变灰)三种状态,同时当用户鼠标单击该控件时,其状态自动在选中、不定(变灰)、未选三种状态间切换。
BS_PUSHBUTTON 创建一个命令按钮控件,这也是本类的默认值。
BS_DEFPUSHBUTTON 创建一个默认命令按钮控件,与普通命令按钮不同的是:该按钮被设置成默认按钮,按钮绘成黑色边框,如果按钮在一个对话框,则用户按下键盘的“ENTER”键等效于按钮被按下。通常被应用在按键快速输入。
BS_PUSHLIKE 本风格属性与选择框或单选框配合,使它们的显示外观看上去象个普通按钮,利用显示控件为上浮和下沉来分别表示选中和未选状态。
BS_GROUPBOX 创建一个组框控件,用3D下凹线条绘制一个矩形,其标题文本被显示在选择框左上角。
BS_LEFTTEXT
BS_RIGHTBUTTON
这两个常数相等。与选择框或单选框配合,使其标题文字显示在左边。
BS_OWNERDRAW 创建一个自绘式按钮。创建控件时向父窗口发送WM_MEASUREITEM消息,按钮需要重绘时向父窗口发送WM_DRAWITEM消息,本风格属性不能与其它风格联合使用。
BS_USERBUTTON 本风格属性32位程序已经停止使用了。
BS_BITMAP 指定控件显示位图。
BS_ICON 指定控件显示图标。
BS_TEXT 指定控件显示文本。
BS_TOP 文本显示垂直居顶。
BS_VCENTER 文本显示垂直居中。
BS_BOTTOM 文本显示垂直居底。
BS_LEFT 文本显示水平居左。
BS_CENTER 文本显示水平居中。
BS_RIGHT 文本显示水平居右。
BS_MULTILINE 指定文本长度太长时可以自动进行换行处理。
BS_NOTIFY 指定当用户双击控件,失去焦点和得到焦点时分别向父窗口发送BN_DBLCLK、BN_KILLFOCUS或BN_SETFOCUS通知消息 ,设定本风格常数将禁止用户单击消息。

  当用户在按钮控件上进行各种操作时,其父窗口将收到WM_COMMAND通知消息,同时wParam的低16位带控件的ID。lParam带控件句柄(hWnd),wParam的高16位带有如下表的消息代码。

BN_CLICKED 用户单击按钮。
BN_DBLCLK 用户双击按钮。
BN_DISABLE 按钮被设成禁止状态。
BN_PUSHED 用户按下按钮。
BN_KILLFOCUS 按钮失去键盘输入焦点。
BN_PAINT 按钮将被重绘。
BN_SETFOCUS 按钮得到键盘输入焦点。
BN_UNPUSHED 用户释放按钮。

  应用程序可以通过调用SendMessage向控件发送如下消息来设定和查询控件各种参数。

uMsg wParam lParam 说明
BM_GETCHECK 0 0 取选择框和单选框的当前选择状态。
BM_SETCHECK 状态 0 设定选择框和单选框的当前选择状态,wParam可指定为BST_CHECKED(选中)、BST_UNCHECKED(不选)或BST_INDETERMINATE(不定)三种状态。
BM_SETSTATE 状态 0 改变按钮的高亮度状态,wParam可指定为TRUE(设置高亮度)或FALSE(取消高亮度)。
BM_SETSTYLE 风格 TRUE或FALSE 改变按钮的各种风格,wParam指定为上述的“BS_”开头的各种风格,lParam为TRUE则重绘控件。
BM_SETIMAGE 图片类型 句柄 设置图形按钮的图像句柄,wParam指定为IMAGE_BITMAP(位图)或IMAGE_ICON(图标)
BM_GETIMAGE 图片类型 0 取图形按钮的图像句柄,wParam指定为IMAGE_BITMAP(位图)或IMAGE_ICON(图标)

  另外,应用程序可以向其父窗口发送DM_GETDEFID来获取默认控件的ID,也可以发送DM_SETDEFID并在wParam中指控件的ID来设置默认控件的ID。

抱歉!评论已关闭.