【转】VC常用控件的使用(2011-03-02 20:58:00)转载 分类: VC
4.1.1 控件基础知识
控件(Control)是一种子窗口,应用程序用它来与其他窗口一起完成简单地输入输出操作。这些控件各自有不同的用途,但总的来说分成两大类:一类只用于输出,另一类用于输入和输出,具体的功能如表4-1所示。
表4-1 MFC
常用控件
控件名称
用途
MFC对应的类
静态文本框
一般显示一段固定不变的文字
CStatic
图片控件
显示图形
群组控件
将一组控件圈起来,这样看起来美观得多
CButton
编辑控件
用户可以任意输入各种文本,同时可以查看已有内容
CEdit
数字滚选按钮
提供两个方向相反的箭头按钮,用来正向或反向逐次改变选项
CSpinButtonCtrl
按键按钮
用来产生某些命令
CButton
复选框
复选框的外形是一个空心方框,当它被选中时,复选框中就加上了一个“√”
单选框
单选按钮的外形是一个图圈,当它被选中时,按钮中心会出现一个黑点。一组单选按钮最多只能有一个被选上
列表框
显示一个列表让用户选择一项或多项
CListBox
组合框
将列表框和编辑框有机的结合起来,用户可以选择已有的项,也可以增加新项
CComboBox
滚动条
滚动条可以是一个单独的控件,也可以是窗口的一部分。当滚动条作为其他窗口的一部分时,由
系统自动处理。按滚动条的走向,可分为竖直滚动条和水平滚动条两种类型,其组成部分是一样的,两端是箭头按钮,中间是一个可沿滚动条移动的滚动块
CScrollBar
进度条
显示任务完成的进度情况
CProgressCtrl
滑标控件
与滚动条类似,但滑槽两侧可标上刻度
CSliderCtrl
树状控件
显示树状分层结构
CTreeCtrl
多功能编辑框
编辑框的加强版,功能更加全面
CRichEditCtrl
4.1.4 控件的公共函数
所有的控件都继承于窗口类(CWnd),所以我们用CWnd类的函数来控制控件,CWnd类与控件有关的函数如下:
BOOL EnableWindow( BOOL bEnable = TRUE );
此函数用于禁用(或启用)窗口。bEnable为真表示启用窗口,为假表示禁用窗口。禁用的窗口以灰色显示,无法响应用户的输入。
BOOL UpdateData( BOOL bSaveAndValidate = TRUE );
当用户完成输入后,调用UpdateData(TRUE)来更新与控件相关联的数据;当应用程序修改完数据后,调用UpdateData(FALSE)来更新控件的显示。CDialog类的UpdateData会调用此对话框上所有的控件的UpdateData。CDialog的OK函数会自动调用UpdateData(true)。
BOOL ShowWindow( int nCmdShow );
此函数用于显示(或隐藏)窗口,nCmdShow为SW_HIDE隐藏控件,为SW_SHOW激活并显
示控件。
ClientToScreen和ScreenToClient
这两个函数分别用于客户区坐标转换为屏幕坐标、屏幕坐标转换为客户区坐标。
SetWindowText 和GetWindowText
这两个函数分别用于设置取得控件标题。
CWnd::MoveWindow
void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );
void MoveWindow( LPCRECT lpRect, BOOL bRepaint = TRUE );
此函数用于移动窗口。x、y是新窗口左上角的坐标,nWidth、nHeight是新窗口的宽和高。lpRect是含有新窗口位置和坐标信息的CRect对象或RECT结构。bRepaint表示是否重绘。如果是顶层窗口,坐标是相对屏幕左上角的坐标,如果是子窗口坐标是相对于父窗口的客户区的左上角。
GetWindowRect
此函数用于取得窗口相对于屏幕左上角的坐标。
GetClientRect
此函数用于取得窗口客户区相对于自己的客户区的坐标,左上角一定是(0,0)。
4.1.5 各控件的使用
1.图片控件
图片控件显示一幅图形,它的Type属性决定图片的类型。
? Frame(框架):该类型的图片控件会显示一个空心矩形,颜色属性决定它的颜色。
? Rectangle(矩形):该类型的图片控件会显示一个实心矩形,颜色属性决定它的颜色。
? Icon(图标):该类型的图片控