MFC----windows控件----按钮控件

按钮控件(CButton和CBitmapButton)基本介绍

常数说明
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(图标)


  常用函数:

       UINT  GetState( )   const                                   返回按钮控件各种状态

       void    SetState(BOOL bHighlight)                   设置按钮高亮状态

       int       GetCheck()                                               返回检查框或单选框的选择状态

       void    SetCheck(int  nCheck)                           设置检查框或单选框的选择状态

       UINT  GetButtonStyle()                                      获取按钮控件的BS_XXXX风格

       void    SetButtonStyle(UINT  nStyle,BOOL  bRedraw=TRUE)    设置按钮风格

       HBITMAP   SetBitmap(HBITMAP  hBitmap)                                   设置按钮显示的位图

      HBITMAP    GetBitmap()                                                                      返回之前用SetBitmap设置的位图

      HICON        SetIcon(HICON  hIcon)                                                   设置按钮现实的图标

      HICON        GetIcon()                                                                           返回之前设置的图标

      HCURSOR   SetCursor(HCURSOR  hCursor)                               设置按钮显示的光标

      HCURSOR  GetCursor()                                                                      返回之前设置的光标

      void                ChekDlgButton(int  nIDButton,UINT  nCheck)           设置按钮的选择状态

      void                CheckRadioButton(int  nIDFirstButton,int  nIDLastButton,int  nIDCheckButton)      用来选择组中的一个单选按钮

      int                   GetCheckedRadioButton(int   nIDFirstButton,int  nIDLastButton)                                获取一组单选按钮中被选中按钮的ID

      UINT               IsDlgButtonChecked(int nIDButton)                                                                                   返回选择框或单选框的选择状态

        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值