Windows标准控件:
windows标准控件由Windows 操作系统提供,在Windows 95中还提供了一些新增的控件。所有这些控件对象都是可编程的,我们可以使用Visual C 提供的对话框编辑器把它们添加到对话框中。Microsoft基础类库(MFC)提供了封装这些控件的类,它们列于表6.1。
在MFC 中,类CWnd是所有窗口类的基类,很自然的,它也是所控件类的基类。
Windows标准控件在以下环境下提供:
windows 95
Windows NT 3.51及以后版本
win32s 1.3
注意:visual C 4.2及以后版本不再支持Win32s.
MFC基本常用控件基本用法VC 控件工具箱:
按钮(Button)用来接收用户的命令,应用程序在接收到用户命令后,通常需要进行一些后台工作。按钮可以响应单击或双击动作,在按钮接收到鼠标动作后,向其父窗口发送相应的控件通知,用户可以对这些控件通知进行消息映射,从而进行相应的处理。
在一个对话框中,可以定义一个默认按钮,这只要选中按钮属性中的“Default”选项。如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。MFC提供了CButton类支持按钮控件。
复选框(Check Box)用来显示某种可能的选择,该项选择是独立的,用户可以选中或取消该选项。在选项被选中的时候核选标记出现,选项被取消时核选标记消失。MFC中由CButton类对核选框进行支持,用户可以通过SetCheck()函数和GetCheck()函数设置或获取核选框当前的状态。
BST_UNCHECKED==((CButton*)GetDlgItem(IDC_CHECK_RES1))->GetCheck()
((CButton*)GetDlgItem(IDC_CHECK_RES1))->SetCheck(true);
编辑框(Edit Control)
用来接收用户输入的字符串。通过选择编辑框的选项,编辑框可以接收字符串、数字、密码等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。编辑框可能向父窗口发送多种控件通知,如果用户需要,可以对这些控件通知进行处理。MFC提供了CEdit类支持编辑框控件。
GetDlgItem(IDC_***)->SetWindowText(Cstring);
GetDlgItem(IDC_***)->GetWindowText(Cstring);
组合框(Combo Box)
列表框和编辑框的组合,用户除了可以在列表中对已经存在的选项进行选择外,还可以输入新的选择。MFC提供了CComboBox类对组合框控件进行支持。
CComboBox * AAA = (CComboBox*)(GetDlgItem(IDC_***));
AAA->AddString(_T("***"));
AAA->SelectString(0, _T("***"));
AAA->SetCurSel(0);
int nSel = AAA->GetCurSel();
AAA->GetLBText(nSel, Cstring);
if(strType.Trim() == _T("***"))
列表框(List Box)
用来选择一系列的可能选择,用户通过滚动条可以在这些选择中浏览。在列表框中,可以进行单项选择,也可以进行多项选择,这取决于用户在控件属性对话框中的设置。MFC提供了CListBox类对列表框控件进行支持。
组成框(Group Box)用来包围具有逻辑关系的一组控件,在这些控件的周围加上边界和标题。需注意的是,组成框仅仅是在视觉效果上对控件进行“成组”,真正的“成组”工作还需要另外一些工作。仅仅在视觉上展现出一组的逻辑关系,并不添加任何代码
单选按钮(Radio Button)用来选择某种可能的选择,与 (Check Box)复选框不同,该选项不是独立的。
一般是几个单选按钮组成一组,同组中的单选按钮仅有一个按钮被选中。
MFC同样使用CButton类对单选按钮控件进行支持,
SetCheck()函数和GetCheck()函数对单选按钮也是适用的。
静态文本(Static Text)用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,必须为其指定一个不同食物ID号,通过调用相应的函数来进行设置。MFC提供了CStatic类支持静态控件。
图形控件(Picture Control)显示位图(Bitmap)和图标(Icon),图形绘制与显示,主要是其方形的区域适合显示,同样方形区域也可利用(Static Text)静态文本框。
滚动条(Scroll Bar)这包括水平滚动条和垂直滚动条,除了在视觉效果上的方向不同外,水平滚动条在被滚动时发生WM_HSCROLL消息,而垂直滚动条在被滚动时发送WM_VSCROLL消息。MFC提供了CScrollBar进行支持。
滑块控件(Slider Control)通常用来在程序中接受一系列离散的数值。
用户可以设置滑块控件的取值范围,并可以为控件加上刻度标记以显示特定位置的含义。
MFC提供了CSliderCtrl类进行支持。
微调按钮(Spin Button)包括一对紧靠在一起的上下箭头,使用微调按钮可以增大或者缩小某个特定的数值。
微调按钮往往都需要一个“伙伴”控件,这通常都是一个编辑框。
当微调按钮的向上箭头被单击时,编辑框中的数字就增大;反之则减小。MFC提供了CPinButtonCtrl类进行支持。
进度条(Progress Control)在进行一项需要较长时间的操作时来反应当前的进度。
当操作的进度不断前进时,进度条就用特色颜色填充进度条框。用户可以设定进度条的范围和当前位置。
MFC提供了CProgressCtrl类进行支持。
CProgressCtrl* progressbar = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_1);
progressbar->SetRange(0, 4);
progressbar->SetPos(0);