文档介绍:第15单元控件
本单元教学目标
介绍各种常用控件的使用方法及基于对话框的应用程序。
学习要求
掌握常用控件的使用方法以及基于对话框的应用程序开发。
授课内容
对话框与控件是密不可分的。Windows提供了一批基本控件,如静态控件(Static Text)、编辑控件(Edit Box)、组框、等,可解决大部分用户输入界面设计的需求。另外,使用Visual C++编程还可使用一批通用控件,包括动画控件(Animate)、标题控件(Header)、复合文本编辑控件(Rich Edit)、标签控件(Tab)和树状列表控件(Tree List)等,可大大提高应用程序界面的表现力。
常用控件
控件(Control)是Windows提供的独立小部件,在对话框与用户的交互过程担任主要角色,如显示文本、图片和图标、命令按钮、编辑文字或数据和滚动条等。
控件的外观和功能是由其属性(Property)决定的。在编辑对话框模板资源时,对准某个控件按下鼠标右键可调出其属性设置对话框。不同的控件属性也不完全相同。属性对话框中有若干选项卡,如General选项卡、Styles选项卡和Extend Styles选项卡等,控件的属性就分布在各选项卡上(:“对话框模板资源的编辑”)。
控件看似简单,但实际上也是一个窗口,对应一个CWnd派生类的对象。例如,编辑控件对应Cedit类的对象,静态文本控件对应CStatic类的对象。每个控件均有自己的标识符,在程序中可使用对话框类的成员函数GetDlgItem()取得指向具体控件对象的指针,然后对其进行编程。本节介绍几个常用的控件的使用方法。
(Static Text)控件:用于显示字符串,不接受输入信息。多用于显示其他控件的标题。使用静态文本控件一般均可使用缺省属性。
(Picture)控件,用于显示位图、图标、方框等,不接受输入信息。在图片控件的属性中,最重要的是其Type(在控件属性对话框的General选项卡中设置),可选类型有Frame(矩形框)、Rectangle(矩形块)、Icon(图标)和Bitmap(位图)等。如果类型选择Frame和Rectangle,可通过Color选项选择其颜色;如果选择Icon和Bitmap,可通过Image选项选择相应的资源。
(Group Box)控件:显示一个文本字符串和一个方框,通常用于组合一组相关控件。
以上三个控件均对应CStatic类型的对象。应该说明的是,如果无需对静态控件编程,则也不要求其标识符唯一,通常可选用对话框模板编辑器自动提供的缺省标识符(IDC_STATIC)。
(Edit Box)控件。编辑控件是最常用的控件,可用于单行或多行文本编辑,其功能十分强大,相当于一个小型文本编辑器。编辑控件亦可用来输入数值数据和日期、时间数据。主要属性有Align Text(文本对齐方式)、Multiline(多行编辑)、AutoHScroll(输入到窗口右边界后自动横滚)等(均在控件属性对话框的Styles选项卡中设置)。编辑控件对应CEdit类的对象。
(Button)控件,用于响应用户的鼠标按键等操作,触发相应的事件。编程时按钮的处理与菜单选项类似,可为其添加命令响应函数(通常借助ClassWizard完成)。
(Check Box)控件,用作选择标记,有选中、不选中和不确定等状态。
(Radio Button)控件,用来作多项选择。单选按钮总是成组使用的。在一组单选按钮中,第一个按钮最为重要,其ID可用于在对话框类中建立对应的数据成员(一定要设置其Group属性为选中)。按钮、检查框和单选按钮三种控件均对应CButton类的对象。
(List Box)控件,显示一个文字列表,用户可从表中选择一项或多项。主要属性为Selection(位于Styles选项卡中)。可选择“Single”(单选)、“Multiple”(多选)等。属性Sort表示是否将列表框的内容排序。列表框中的文字列表需在编程时确定,通常是在对话框类的InitDialog()成员函数中给出。列表框控件对应CListBox类对象。
Box)是编辑控件和列表框的组合,可分为简易式(Simple)、下拉式(Dropdown)和下拉列表式(Drop List)。组合框中列表的内容可在设置时用Data选项卡输入。注意输入各列表项时要使用Ctrl+Enter开始新的一项。bo类的对象。
为了在程序中对控件进行查询和控制,可以利用CWnd类提供的一组管理对话框控件的成员函数。这类函数很多,以下仅举几例:
对话框控件管理函数说明
GetCheckedRadio