VC++之Button控件

转载 2007年09月20日 11:04:00
按钮窗口(控件)在MFC中使用CButton表示,CButton包含了三种样式的按钮,Push Button,Check Box,Radio Box。所以在利用CButton对象生成按钮窗口时需要指明按钮的风格。
创建按钮:BOOL CButton::Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );其中lpszCaption是按钮上显示的文字,dwStyle为按钮风格,除了Windows风格可以使用外(如WS_CHILD WS_VISUBLE WS_BORDER)还有按钮专用的一些风格。

BS_AUTOCHECKBOX 检查框,按钮的状态会自动改变 Same as a check box, except that a check mark appears in the check box when the user selects the box; the check mark disappears the next time the user selects the box.

BS_AUTORADIOBUTTON 圆形选择按钮,按钮的状态会自动改变 Same as a radio button, except that when the user selects it, the button automatically highlights itself and removes the selection from any other radio buttons with the same style in the same group.

BS_AUTO3STATE 允许按钮有三种状态即:选中,未选中,未定 Same as a three-state check box, except that the box changes its state when the user selects it.

BS_CHECKBOX 检查框 Creates a small square that has text displayed to its right (unless this style is combined with the BS_LEFTTEXT style).

BS_DEFPUSHBUTTON 默认普通按钮 Creates a button that has a heavy black border. The user can select this button by pressing the ENTER key. This style enables the user to quickly select the most likely option (the default option).

BS_LEFTTEXT 左对齐文字 When combined with a radio-button or check-box style, the text appears on the left side of the radio button or check box.

BS_OWNERDRAW 自绘按钮 Creates an owner-drawn button. The framework calls the DrawItem member function when a visual
aspect of the button has changed. This style must be set when using the CBitmapButton class.

BS_PUSHBUTTON 普通按钮 Creates a pushbutton that posts a WM_COMMAND message to the owner window when the user selects the button.

BS_RADIOBUTTON 圆形选择按钮 Creates a small circle that has text displayed to its right (unless this style is combined with the BS_LEFTTEXT style). Radio buttons are usually used in groups of related but mutually exclusive choices.

BS_3STATE 允许按钮有三种状态即:选中,未选中,未定 Same as a check box, except that the box can be dimmed as well as checked. The dimmed state typically is used to show that a check box has been disabled.
rect为窗口所占据的矩形区域,pParentWnd为父窗口指针,nID为该窗口的ID值。

获取/改变按钮状态:对于检查按钮和圆形按钮可能有两种状态,选中和未选中,如果设置了BS_3STATE或BS_AUTO3STATE风格就可能出现第三种状态:未定,这时按钮显示灰色。通过调用int CButton::GetCheck( ) 得到当前是否被选中,返回0:未选中,1:选中,2:未定。调用void CButton::SetCheck( int nCheck );设置当前选中状态。

处理按钮消息:要处理按钮消息需要在父窗口中进行消息映射,映射宏为ON_BN_CLICKED( id, memberFxn )id为按钮的ID值,就是创建时指定的nID值。处理函数原型为afx_msg void memberFxn( );

按钮窗口(控件)在MFC中使用CButton表示,CButton包含了三种样式的按钮,Push Button,Check Box,Radio Box。所以在利用CButton对象生成按钮窗口时需要指明按钮的风格。

创建按钮:BOOL CButton::Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );其中lpszCaption是按钮上显示的文字,dwStyle为按钮风格,除了Windows风格可以使用外(如WS_CHILD WS_VISUBLE WS_BORDER)还有按钮专用的一些风格。
BS_AUTOCHECKBOX 检查框,按钮的状态会自动改变 Same as a check box, except that a check mark appears in the check box when the user selects the box; the check mark disappears the next time the user selects the box.

BS_AUTORADIOBUTTON 圆形选择按钮,按钮的状态会自动改变 Same as a radio button, except that when the user selects it, the button automatically highlights itself and removes the selection from any other radio buttons with the same style in the same group.

BS_AUTO3STATE 允许按钮有三种状态即:选中,未选中,未定 Same as a three-state check box, except that the box changes its state when the user selects it.

BS_CHECKBOX 检查框 Creates a small square that has text displayed to its right (unless this style is combined with the BS_LEFTTEXT style).

BS_DEFPUSHBUTTON 默认普通按钮 Creates a button that has a heavy black border. The user can select this button by pressing the ENTER key. This style enables the user to quickly select the most likely option (the default option).

BS_LEFTTEXT 左对齐文字 When combined with a radio-button or check-box style, the text appears on the left side of the radio button or check box.

BS_OWNERDRAW 自绘按钮 Creates an owner-drawn button. The framework calls the DrawItem member function when a visual aspect of the button has changed. This style must be set when using the CBitmapButton class.

BS_PUSHBUTTON 普通按钮 Creates a pushbutton that posts a WM_COMMAND message to the owner window when the user selects the button.

BS_RADIOBUTTON 圆形选择按钮 Creates a small circle that has text displayed to its right (unless this style is combined with the BS_LEFTTEXT style). Radio buttons are usually used in groups of related but mutually exclusive choices.

BS_3STATE 允许按钮有三种状态即:选中,未选中,未定 Same as a check box, except that the box can be dimmed as well as checked. The dimmed state typically is used to show that a check box has been disabled.
rect为窗口所占据的矩形区域,pParentWnd为父窗口指针,nID为该窗口的ID值。

获取/改变按钮状态:对于检查按钮和圆形按钮可能有两种状态,选中和未选中,如果设置了BS_3STATE或BS_AUTO3STATE风格就可能出现第三种状态:未定,这时按钮显示灰色。通过调用int CButton::GetCheck( ) 得到当前是否被选中,返回0:未选中,1:选中,2:未定。调用void CButton::SetCheck( int nCheck );设置当前选中状态。

处理按钮消息:要处理按钮消息需要在父窗口中进行消息映射,映射宏为ON_BN_CLICKED( id, memberFxn )id为按钮的ID值,就是创建时指定的nID值。处理函数原型为afx_msg void memberFxn( ); 
 

Vc++ Button控件的使用

按钮窗口(控件)在MFC中使用CButton表示,CButton包含了三种样式的按钮,Push Button,Check Box,Radio Box。所以在利用CButton对象生成按钮窗口时需要指明...
  • guomeiran
  • guomeiran
  • 2013年11月22日 10:17
  • 887

VC++界面编程之--自定义CButton(按钮)皮肤

在VC++ WTL编程中,利用CustomDraw自绘的方法,可以很轻松地实现按钮的自绘效果。 我利用了此方法,制作了一个CCustomButton类,实现了如下效果的控件,其支持普通的按钮风格,并也...
  • renstarone
  • renstarone
  • 2013年09月05日 20:42
  • 6274

VC之按钮控件位置大小界面设置

本文简单介绍下按钮控件的位置大小和界面设置。 首先,新建一个对话框应用程序,并且在界面上添加几个按钮 然后,设置贴图按钮的属性 添加图片资源   将第一个图片加载到程序资源中...
  • bingdianlanxin
  • bingdianlanxin
  • 2015年04月05日 18:30
  • 1529

VC学习笔记 -单选按钮控件(Ridio Button)的使用

在VC++编程过程中,查资料是一个苦差事,案边放了一摞书左翻右翻好是烦人。一赌气就把一些常用的小技巧自己总结了一下,虽费了些功夫,但对以后编程很有好处。现拿出来与大家共享,以后积累多了,作一个CHM电...
  • mitesi
  • mitesi
  • 2014年03月31日 17:11
  • 2091

设置vc中MFC的Button颜色和字体,CButton继承类的三色和字体设置

// ButtonColor.cpp : implementation file // #include "stdafx.h" #include "MyButtonFont.h" #inclu...
  • zhaoxiatengkong_1
  • zhaoxiatengkong_1
  • 2013年09月12日 01:48
  • 4203

Button控件+自定义Button控件

首先第一步就是往布局文件里拖一个Button控件,当然自己码出来也可以。XML布局如下 "http://schemas.android.com/apk/res/android"     xmlns:...
  • u010474556
  • u010474556
  • 2015年05月22日 17:00
  • 699

VC实现自定义控件步骤

VC实现自定义控件   一. 控件的最小实现 1.1 添加MFC类CMyCtrl 添加MFC类CMyCtrl, 继承CWnd.(用向导添加, 自己手动写代码都可以).   1.2 添加CMyCtrl:...
  • cay22
  • cay22
  • 2015年01月24日 16:17
  • 1754

WPF之Button控件应用

测试环境: Windows xp + Microsoft Visual Studio 2010 + Microsoft Expression Blend4 + .Net4.0   具体应用:   1....
  • ccx_john
  • ccx_john
  • 2013年12月04日 08:28
  • 963

C#开发学习笔记:编写自定义Button控件的自定义事件

编写自定义Button控件的自定义事件
  • JustWantToFly
  • JustWantToFly
  • 2016年07月19日 18:52
  • 3209

VC之列表控件排序

本文简单介绍下VC列表控件排序功能实现。 1.新建对话框应用程序 新建对话框应用程序,并且添加List列表控件。 2.添加相关变量和函数 class CListSortDl...
  • bingdianlanxin
  • bingdianlanxin
  • 2015年04月05日 20:06
  • 1049
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VC++之Button控件
举报原因:
原因补充:

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