按钮控件

原创 2005年04月27日 14:37:00

按钮控件(button)

  [下载例程]
  按钮控件根据其风格属性可派生出:命令按钮(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向控件发送如下消息来设定和查询控件各种参数。
uMsgwParamlParam说明
BM_GETCHECK00取选择框和单选框的当前选择状态。
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。
 

按钮控件的编程实例

Button、Radio Button和Check Box按钮控件实例的实现。

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

c#按钮自绘控件

  • 2017年12月11日 20:37
  • 104KB
  • 下载

自定义控件三部曲之绘图篇(二十)——RadialGradient与水波纹按钮效果

自定义控件三部曲之绘图篇(二十)——RadialGradient与水波纹按钮效果 前言:每当感叹自己的失败时,那我就问你,如果让你重新来一次,你会不会成功?如果会,那说明并没有拼尽全力。 最近博主...

按钮经典控件

  • 2014年08月27日 20:32
  • 269KB
  • 下载

VCL 图片按钮 控件

  • 2013年11月20日 12:37
  • 7KB
  • 下载

Android自定义控件——仿ios开关按钮

大凡在公司做客户端产品开发的都会发现,android和ios的差异化,ios得益于“老乔”的精心设计,界面用户体验做到了极致,而android秉承开源思想,界面用户体验百家各有其长,相互不得统一。不说...

JCButton按钮控件

  • 2013年06月08日 16:05
  • 343KB
  • 下载

C#第十周任务之最后一项之创建一个如下的窗体,并在窗体上放置一个菜单、一个工具栏控件。菜单内容如第二个图所示。工具栏上有两个按钮,分别对应“打开文本文件”、“保存文本文件”。菜单和工具栏具体功能实现可

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:按钮控件
举报原因:
原因补充:

(最多只允许输入30个字)