当前位置: 首页 > 图文教程 > 开发语言 > VC++ > VC++:小编浅谈静态控件

VC++
自绘菜单的实现
电子式时钟
VC++工程中加入 SplashScreen 原理释解
类似 MSN 带转义字符的信息发送框的制作(下)
类似 MSN 信息发送框的制作(上)
多功能标签CLabelEx
一步步制作真彩工具条
增加状态栏按钮及其它......
子类化:增强Edit控件为日期输入控件
.NET中的自绘机制
电子八段管的仿真控件
树控件的应用 -- 求子树节点的集
树视控件在多文档中的使用
在List Control中实现列表项目的上下移动
可设置单元格颜色的ClistCtrl类
属性列表的开发
在MDI程序中实现类似WPS2000的文件切换标签
VC控件 TreeCtrl 与 ListCtrl 演示
为对话框中的控件增加提示的简单方法
类似EXCEL的开发库(更新)

VC++:小编浅谈静态控件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-12-26   浏览: 382 ::
收藏到网摘: n/a

按钮主要是指命令按钮、选择框和单选按钮。后二者实际上是一种特殊的按钮,它们有选择和未选择状态。当一个选择框处于选择状态时,在小方框内会出现一个“√”,当单选按钮处于选择状态时,会在圆圈中显示一个黑色实心圆。此外,检查框还有一种不确定状态,这时检查框呈灰色显示,不能接受用户的输入,以表明控件是无效的或无意义的。 

 

 FCCButton类封装了按钮控件。CButton类的成员函数Create负责创建按钮控件,该函数的声明为 

 

 BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); 

 

一般还要为控件指定WS_CHILDWS_VISIBLEWS_TABSTOP窗口风格,WS_TABSTOP使控件具有Tabstop属性。创建一个普通按钮应指定的风格为WS_CHILD|WS_VISIBLE|WS_TABSTOP。创建一个普通检查框应指定风格WS_CHILD|WS_VISIBLE|WS_TABSTOP| BS_AUTOCHECKBOX。创建组中第一个单选按钮应指定风格WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_GROUP| BS_AUTORADIOBUTTON,组中其它单选按钮应指定风格则不应该包括WS_TABSTOPWS_GROUP。 

 

  对于用对话框模板编辑器创建的按钮控件,可以在控件的属性对话框中指定。例如,在命令按钮的属性对话框中选择Default button,相当于指定了BS_DEFPUSHBUTTON。 

 

 可以使用下列的一些与按钮控件有关的CWnd成员函数来设置或查询按钮的状态。用这些函数的好处在于不必构建按钮控件对象,只要知道按钮的ID,就可以直接设置或查询按钮。 

 

  void CheckDlgButton( int nIDButton, UINT nCheck );

用来设置按钮的选择状态。参数nIDButton指定了按钮的IDnCheck的值0表示按钮未被选择,1表示按钮被选择,2表示按钮处于不确定状态。 

 

  void CheckRadioButton( int nIDFirstButton, int nIDLastButton, int nIDCheckButton );

用来选择组中的一个单选按钮。参数nIDFirstButton指定了组中第一个按钮的IDnIDLastButton指定了组中最后一个按钮的IDnIDCheckButton指定了要选择的按钮的ID。 

 

  int GetCheckedRadioButton( int nIDFirstButton, int nIDLastButton );

该函数用来获得一组单选按钮中被选中按钮的ID。参数nIDFirstButton说明了组中第一个按钮的IDnIDLastButton说明了组中最后一个按钮的ID。 

 

  UINT IsDlgButtonChecked( int nIDButton ) const;

返回检查框或单选按钮的选择状态。返回值0表示按钮未被选择,1表示按钮被选择,2表示按钮处于不确定状态(仅用于检查框)。 

 

  可以调用CWnd成员函数GetWindowTextGetWindowTextLengthSetWindowText来查询或设置按钮中显示的正文. 

 

  MFC还提供了CButton的派生类CBitmapButton。利用该类可以创建一个拥有四幅位图的命令按钮,按钮在不同状态时会显示不同的位图,这样可以使界面显得生动活泼。