1、6.1 控件概述控件概述 6.2 CStatic类控件类控件6.3 CEdit类控件类控件6.4 CButton类控件类控件6.5 CListBox类控件类控件6.6 CComboBox类控件类控件6.7 CSpinButtonCtrl类控件类控件6.8 CSliderCtrl类控件类控件6.9 CProgressCtrl类控件类控件6.10 应用实例应用实例第6章 Windows常用控件Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 26.16.1 控件概述控件概述 控件控件(Control)(Control)是一种子窗口
2、是一种子窗口,应用程序用它来与,应用程序用它来与其他窗口进行简单的输入输出操作。其他窗口进行简单的输入输出操作。Windows提供的控件分为两类:提供的控件分为两类:uWindows 95之前就已经支持的标准控件,这些控件主之前就已经支持的标准控件,这些控件主要包括要包括静态控件、按钮控件、编辑框控件、列表框控件、静态控件、按钮控件、编辑框控件、列表框控件、组合框控件组合框控件等等uWindows95及以后操作系统支持的通用控件。如下表及以后操作系统支持的通用控件。如下表所示从旋转按钮、进度条直到图像列表等。所示从旋转按钮、进度条直到图像列表等。Visual C+程序设计与应用教程2022/1
3、2/27第第6 6章章 WindowsWindows常用控件常用控件 3Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 46.1.1 控件的创建控件的创建 控件的创建分为控件的创建分为静态创建静态创建和和动态创建动态创建两种方式。两种方式。静态创建是指在对话框模板创建控件,并设置控件静态创建是指在对话框模板创建控件,并设置控件的属性,这样,在调用该对话框时,窗口系统会自动按预的属性,这样,在调用该对话框时,窗口系统会自动按预先的设置为对话框创建控件。先的设置为对话框创建控件。动态创建是指在程序的运行中根据需要,定义一个动态创
4、建是指在程序的运行中根据需要,定义一个控件类的对象,再通过窗口函数控件类的对象,再通过窗口函数Create()创建控件。创建控件。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 56.1.2 控件的组织控件的组织 1编排控件编排控件 编排控件有两种方法编排控件有两种方法:u使用控件布局工具栏使用控件布局工具栏Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 6u使用使用Layout菜单。当打开对话框编辑器时,菜单。当打开对话框编辑器时,Develop Stu
5、dio的菜单栏上会增加一个菜单的菜单栏上会增加一个菜单Layout。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 72调整调整Tab 顺序顺序 Tab Order规定了使用规定了使用Tab键键访问控件的顺序,默认的访问控件的顺序,默认的Tab Order是控件生成的顺序,选择是控件生成的顺序,选择菜单项菜单项Layout|Tab Order可以显可以显示并修改示并修改Tab Order。改变改变Tab Order的方法是:选择的方法是:选择Tab Order菜单项、菜单项、出现了顺序号之后,按所需的访问顺序依次单击每一个出
6、现了顺序号之后,按所需的访问顺序依次单击每一个控件,然后,单击空白处。控件,然后,单击空白处。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 86.1.3 控件的共有属性控件的共有属性 Windows标准控件的属性窗口通常由标准控件的属性窗口通常由General、Styles和和Extended Styles 3个属性标签构成。个属性标签构成。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 9General标签页中设置控件共有属性,通常包括:标签页中设置控
7、件共有属性,通常包括:(1)I DI D 程序通过控件程序通过控件ID来访问一个控件。所有的控件中,来访问一个控件。所有的控件中,只有只有Static Box控件和控件和Group Box控件的控件的ID是可以重复,是可以重复,一般使用默认设置一般使用默认设置IDC_STATIC,而其他类控件的,而其他类控件的ID在在一个应用程序中应该是惟一的。一个应用程序中应该是惟一的。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 10 (2)VisibleVisible 设置对话框打开时控件是否可见。它的类型是布尔设置对话框打开时控件
8、是否可见。它的类型是布尔类型。默认为类型。默认为TRUE,即运行程序时显示控件。,即运行程序时显示控件。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 11 (3)DisabledDisabled 设置当对话框在打开时该控件是否不可用,它的类设置当对话框在打开时该控件是否不可用,它的类型是布尔类型,默认为型是布尔类型,默认为FALSE。(4)GroupGroup 标记一组控件中的第一个控件。标记一组控件中的第一个控件。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件
9、常用控件 12 (5)Tap stopTap stop 设置设置TAB键是否可以该控件上驻留,它的类型是布键是否可以该控件上驻留,它的类型是布尔型,默认值为尔型,默认值为TRUE。(6)Help IDHelp ID 分配一个帮助分配一个帮助ID给一个控件。这个帮助给一个控件。这个帮助ID建立在资建立在资源源ID基础上。它的类型是布尔型,默认为基础上。它的类型是布尔型,默认为FALSE。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 136.1.4 控件的访问控件的访问访问控件一般有访问控件一般有3 3种方法种方法 :利用对话
10、框的数据交换功能访问控件利用对话框的数据交换功能访问控件 适用于静态创建的控件,通过调用适用于静态创建的控件,通过调用UpdateData()函数,实现对话框和控件的数据交换。函数,实现对话框和控件的数据交换。通过控件对象来访问控件通过控件对象来访问控件利用利用CWnd类的成员函数来访问控件类的成员函数来访问控件 Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 14 静态控件静态控件(Static Control)(Static Control)是用来显示一个文是用来显示一个文本串或图形信息的控件,包括静态文本控件、图片本串
11、或图形信息的控件,包括静态文本控件、图片控件和组框。控件和组框。所有静态控件默认的所有静态控件默认的IDID标识都为标识都为IDC_STATICIDC_STATIC,如果需要在程序中区分和操纵各个不同的静态控件,如果需要在程序中区分和操纵各个不同的静态控件,必须重新为它指定一个惟一的必须重新为它指定一个惟一的IDID标识。标识。6.26.2 CStaticCStatic类控件类控件Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 15 6.2.16.2.1 静态文本(静态文本(Static TextStatic Text)控件
12、)控件 静态文本控件不要求与对话框进行交互,需要显示静态文本控件不要求与对话框进行交互,需要显示的文本串只要的文本串只要在该控件属性对话框的在该控件属性对话框的GeneralGeneral标签中的标签中的CaptionCaption属性中直接输入属性中直接输入。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 16 在在StylesStyles标签页中设置静态文本文本的显示风格:标签页中设置静态文本文本的显示风格:1.Align textAlign text 控制静态文本控件中文本的对齐方式。可能的取值控制静态文本控件中文本的
13、对齐方式。可能的取值有有Right(Right(右对齐右对齐),Left(Left(左对齐左对齐),Center(Center(居中居中),当,当No No wrapwrap选项选中时,这个选项设置为选项选中时,这个选项设置为LeftLeft,它的默认值为,它的默认值为LeftLeft。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 17 2.Center verticallyCenter vertically 静态文本控件中文本在垂直方向上居中。它的类型静态文本控件中文本在垂直方向上居中。它的类型是布尔型,默认值是是布尔型
14、,默认值是FALSE。3.No prefixNo prefix 禁止文本中的禁止文本中的“&”解释为它后面的字符有一个下划解释为它后面的字符有一个下划线,而直接将它作为文本的一部分进行显示。线,而直接将它作为文本的一部分进行显示。Noprefix选选项经常在显示包含项经常在显示包含“&”的文件名或字符串中用到。的文件名或字符串中用到。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 18 4.No wrapNo wrap 以左对齐的方式来显示文本,并且不进行文本的自以左对齐的方式来显示文本,并且不进行文本的自动回行。超出控件右
15、边界的文本将被裁去。动回行。超出控件右边界的文本将被裁去。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 19 5.SimpleSimple 此选项将禁用此选项将禁用No wrap和和Align text选项。它的类型选项。它的类型是布尔型,默认值是是布尔型,默认值是FALSE。6.NotifyNotify 此选项表示当控件被选中或双击时,通知父窗口。此选项表示当控件被选中或双击时,通知父窗口。此选项的类型是布尔型,默认值是此选项的类型是布尔型,默认值是FALSE。Visual C+程序设计与应用教程2022/12/27第第
16、6 6章章 WindowsWindows常用控件常用控件 20 7.SunkenSunken 此选项表示围绕静态文本控件的文本,建立一个凹此选项表示围绕静态文本控件的文本,建立一个凹下的边框。它的类型是布尔型,默认值是下的边框。它的类型是布尔型,默认值是FALSE。8.BorderBorder 此选项表示围绕静态文本控件的文本,建立一个边此选项表示围绕静态文本控件的文本,建立一个边框。它的类型是布尔型,默认值是框。它的类型是布尔型,默认值是FALSE。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 21 6.2.2 图片(图
17、片(Picture)控件)控件 用来显示边框、矩形、或位图等图形。编辑用来显示边框、矩形、或位图等图形。编辑时,时,首先必须创建位图或图标资源,即要插入一个首先必须创建位图或图标资源,即要插入一个Bitmap(位图)或(位图)或Icon(图标(图标)。)。静态图片控件的一般属性和风格属性中各项的静态图片控件的一般属性和风格属性中各项的含义如下:含义如下:Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 22图片类型,可以选择图片类型,可以选择Frame(Frame(框框)、Rectangle(Rectangle(矩形区域矩形区
18、域)、Icon(Icon(图图标标)、Bitmap(Bitmap(位图位图)、Enhanced Metafile(Enhanced Metafile(增强图元文件增强图元文件)当图片类型为当图片类型为IconIcon和和BitmapBitmap时,通过此框可时,通过此框可选择指定的资源选择指定的资源IDID号号设置设置FrameFrame和和RectangleRectangle的颜色的颜色Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 23选中时,用户重置图片大小时,选中时,用户重置图片大小时,图片的右下角是固定不变的图片的
19、右下角是固定不变的选中时,图片显示在控件选中时,图片显示在控件的中央,其余区域由图片的中央,其余区域由图片左上角的像素颜色来填充左上角的像素颜色来填充选中时,按图片的实际大选中时,按图片的实际大小来显示,超过控件区域小来显示,超过控件区域的部分被剪裁的部分被剪裁Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 246.36.3 CEdit类控件类控件 MFCMFC的的CEditCEdit类封装了编辑框类封装了编辑框(Edit Box)(Edit Box),编,编辑框又称文本框或编辑控件,也是一种常用的控辑框又称文本框或编辑控件
20、,也是一种常用的控件。编辑框一般与静态文本控件一起使用,用于件。编辑框一般与静态文本控件一起使用,用于数据的输入和输出。数据的输入和输出。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 256.3.1 6.3.1 编辑框的风格编辑框的风格 通过通过StylesStyles标签页的设置,可以得到不同类型的编标签页的设置,可以得到不同类型的编辑框样式:多行编辑框、密码编辑框,只读编辑框,大小辑框样式:多行编辑框、密码编辑框,只读编辑框,大小写转换编辑框、数字编辑框等等。写转换编辑框、数字编辑框等等。Visual C+程序设计与应
21、用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 26 1.Align textAlign text 控制编辑控件中的文本对齐方式。可能的取值有左控制编辑控件中的文本对齐方式。可能的取值有左对齐、居中和右对齐。对齐、居中和右对齐。2.MultilineMultiline 定义该编辑控件为多行文本编辑。通常情况下,该定义该编辑控件为多行文本编辑。通常情况下,该选项不被选中。选项不被选中。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 27 3.NumberNumber 限定用户输入的只能是
22、数字。限定用户输入的只能是数字。4.Horizontal scrollHorizontal scroll 在多行编辑控件中提供一个水平滚动条。默认该选在多行编辑控件中提供一个水平滚动条。默认该选项不被选中。项不被选中。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 28 5.Auto HScrollAuto HScroll 当用户在编辑框的最右边输入字符时,文本自动进当用户在编辑框的最右边输入字符时,文本自动进行滚动。该选项通常被选中。行滚动。该选项通常被选中。6.Vertical scrollVertical scroll
23、 在多行编辑控件中提供一个垂直滚动条。默认该选在多行编辑控件中提供一个垂直滚动条。默认该选项不被选中。项不被选中。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 29 7.Auto VScrollAuto VScroll 在多行编辑控件中在多行编辑控件中,当用户在最后一行按回车键时,当用户在最后一行按回车键时,文本自动向下滚动。默认该选项不被选中。文本自动向下滚动。默认该选项不被选中。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 30 8.Passwor
24、dPassword 当用户在编辑控件中输入字符时,在编辑框中不显当用户在编辑控件中输入字符时,在编辑框中不显示输入的文本,而是相同个数的示输入的文本,而是相同个数的“*”字符。这一选项在字符。这一选项在多行编辑控件中不能使用。默认不被选中。多行编辑控件中不能使用。默认不被选中。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 31 9.No hide selectionNo hide selection 当编辑控件失去或重新获得焦点时,该项设置将改当编辑控件失去或重新获得焦点时,该项设置将改变文本的显示方式,使编辑框中选择的文
25、本好像总是处变文本的显示方式,使编辑框中选择的文本好像总是处于选中状态。默认该选项不被选中。于选中状态。默认该选项不被选中。10.OEM convertOEM convert 对用户输入内容进行从对用户输入内容进行从Windows字符集到字符集到OEM字字符集的转化。符集的转化。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 32 11.Want returnWant return 应用于多行编辑控件。该选项允许在编辑控件中按应用于多行编辑控件。该选项允许在编辑控件中按Enter键换行,而不影响对话框的默认按钮。键换行,而不
26、影响对话框的默认按钮。12.BorderBorder 为控件创建边界,该选项默认被选中。为控件创建边界,该选项默认被选中。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 33 13.UppercaseUppercase 将所有的输入内容转化为大写字符,默认不被选中。将所有的输入内容转化为大写字符,默认不被选中。14.LowercaseLowercase 将所有的输入内容转化为小写字符,默认不被选中。将所有的输入内容转化为小写字符,默认不被选中。15.Read-onlyRead-only 禁止用户在编辑控件中输入或修改其内容,
27、默认不被禁止用户在编辑控件中输入或修改其内容,默认不被选中。选中。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 346.3.2 6.3.2 编辑框的基本操作编辑框的基本操作 利用利用MFCMFC的的CEditCEdit类提供的成员函数可以实现编辑框类提供的成员函数可以实现编辑框的各种操作。编辑控件的默认模式是在一行内显示所有的各种操作。编辑控件的默认模式是在一行内显示所有编辑文本。下表介绍了通用编辑文本。下表介绍了通用CEditCEdit类的方法。类的方法。Visual C+程序设计与应用教程2022/12/27第第6 6
28、章章 WindowsWindows常用控件常用控件 35Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 36Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 376.3.3 6.3.3 编辑框的通知消息编辑框的通知消息 Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 38【例【例6.16.1】编写一个基于对话框的】编写一个基于对话框的MFCMFC应用程序应用程序Li6_1Li6_1,该应用
29、程序维护着一张记录合法用户的用户名和密码该应用程序维护着一张记录合法用户的用户名和密码的列表,只有合法用户才能通过登录程序,如图所示。的列表,只有合法用户才能通过登录程序,如图所示。要求输入后密码以要求输入后密码以“#”#”代替显示。代替显示。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 396.4 6.4 CButtonCButton类控件类控件 CButton CButton类控件包括按键按钮、单选按钮、复类控件包括按键按钮、单选按钮、复选框和组框等选框和组框等4 4种类型。种类型。在被按下时会立在被按下时会立即执行某
30、个命令,即执行某个命令,也被称为命令按也被称为命令按钮钮 用于在一组互相用于在一组互相排斥的选项中选排斥的选项中选择其中一项择其中一项用于在一组选项用于在一组选项中选择其中一项中选择其中一项或多项或多项使一组控件关联使一组控件关联起来,经常与一起来,经常与一组单选按钮或复组单选按钮或复选框一起使用选框一起使用Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 40 可以通过可以通过Style标签页设置一些与控件风格有关的属性,标签页设置一些与控件风格有关的属性,不同的控件所设置的属性不相同。不同的控件所设置的属性不相同。下图为下
31、图为Button控件的控件的Styles。1.按键按钮按键按钮Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 41 由一个圆圈和紧随其后的文本标题组成,当它被由一个圆圈和紧随其后的文本标题组成,当它被选中时,圆圈中就标上一个黑点。选中时,圆圈中就标上一个黑点。通常将一组单选按钮放在一个组框控件中,在一通常将一组单选按钮放在一个组框控件中,在一组单选按钮中,第一个组单选按钮中,第一个(Tab(Tab键顺序键顺序)按钮最重要,其按钮最重要,其IDID值可用于在对话框中为控件建立关联的成员变量。必值可用于在对话框中为控件建立关联的
32、成员变量。必须为同组中的第一个单选按钮设置须为同组中的第一个单选按钮设置GroupGroup属性,而同组属性,而同组的其他单选按钮不可再设置的其他单选按钮不可再设置GroupGroup属性。属性。2单选按钮单选按钮Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 42 由一个空心方框和紧随其后的文本组成,当由一个空心方框和紧随其后的文本组成,当它被选中时,空心方框中就加上一个它被选中时,空心方框中就加上一个“”或或“”标记。不同于单选按钮,在一组复选框中标记。不同于单选按钮,在一组复选框中每次可以同时选择多项。每次可以同时选择
33、多项。3复复选按钮选按钮Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 43 用来显示一个文本标题和一个矩形边框,通用来显示一个文本标题和一个矩形边框,通常用来作为一组控件周围的虚拟边界,并将一组常用来作为一组控件周围的虚拟边界,并将一组控件组织在一起。控件组织在一起。4组框组框Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 44 6.4.2 按钮控件的基本操作按钮控件的基本操作Visual C+程序设计与应用教程2022/12/27第第6 6章章 Win
34、dowsWindows常用控件常用控件 45 6.4.3 按钮控件的通知消息按钮控件的通知消息常见的有两个:常见的有两个:BN_CLICKEDBN_CLICKEDBN_DOUBLE_CLICKEDBN_DOUBLE_CLICKEDVisual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 46【例【例6.2】编写一个基于对话框的】编写一个基于对话框的MFC应用程序应用程序Li6_2,程序运行时,用画刷填充一块矩形区域,区域颜色及亮程序运行时,用画刷填充一块矩形区域,区域颜色及亮度分别由组框中的复选按钮及单选按钮确定。度分别由组框中的复选
35、按钮及单选按钮确定。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 476.4.4 位图按钮(位图按钮(CBitmapButtonCBitmapButton)CButton CButton派生的派生的CBitmapButtonCBitmapButton类支持标类支持标签是位图的按钮控件的建立。签是位图的按钮控件的建立。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 48 CBitmapButton CBitmapButton类可以对按钮弹起、按下、获类可以
36、对按钮弹起、按下、获得焦点和无效状态具有不同的位图得焦点和无效状态具有不同的位图。【例【例6.36.3】创建一个基于对话框的应用程序,演示】创建一个基于对话框的应用程序,演示位图按钮的使用。位图按钮的使用。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 496.56.5 CListBox类控件类控件WindowsWindows提供如下几种列表类型控件提供如下几种列表类型控件:列表框、组合框、列表视控件和树视控件。列表框、组合框、列表视控件和树视控件。其中列表框是一种最简单的列表类型控件。常其中列表框是一种最简单的列表类型控件
37、。常用来显示类型相同的一系列清单,如文件、字体和用来显示类型相同的一系列清单,如文件、字体和用户等。用户等。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 50 按性质来划分,列表框风格有按性质来划分,列表框风格有单选、多选、扩单选、多选、扩展多选以及非选展多选以及非选等四种类型。等四种类型。列表框控件属性的列表框控件属性的StylesStyles标签页如下图所示,标签页如下图所示,具体属性设置如下:具体属性设置如下:6.5.1 列表框的风格列表框的风格 Visual C+程序设计与应用教程2022/12/27第第6 6章章
38、 WindowsWindows常用控件常用控件 51设置列表框中选项的选中方式。设置列表框中选项的选中方式。有有4个选项个选项:Single,表示在给定的选项中,至多有一个被选中;,表示在给定的选项中,至多有一个被选中;Multiple,表示可以有多个选项被选中,但忽略,表示可以有多个选项被选中,但忽略Shift键和键和Ctrl键;键;Extended,允许选择多个选项,在选择时,可以使用,允许选择多个选项,在选择时,可以使用Shift键和键和Ctrl键;键;None,不允许选择任何选项。,不允许选择任何选项。设置列表框将由列表框所有者来绘制,设置列表框将由列表框所有者来绘制,在大多数情况下,
39、该选项设置为在大多数情况下,该选项设置为NoVisual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 52设置列表框内容应设置列表框内容应按字母顺序排序,按字母顺序排序,该选项通常被选中该选项通常被选中创建一个多列列表框,该创建一个多列列表框,该选项通常未选中选项通常未选中设置列表框中显示的文设置列表框中显示的文本选项可以包含标签页,本选项可以包含标签页,该选项通常未选中该选项通常未选中设置列表框有输入焦点,设置列表框有输入焦点,当按键时列表框所当按键时列表框所有者收到有者收到WM_VKEYTOITEMWM_VKEYTOITEM或或W
40、M_CHARTOITEMWM_CHARTOITEM消息。消息。该选项通常未选中该选项通常未选中即使不需要,也即使不需要,也显示一个垂直滚显示一个垂直滚动条。该选项通动条。该选项通常未选中常未选中Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 536.5.2 列表框的基本操作列表框的基本操作 Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 546.5.3 列表框的通知消息列表框的通知消息 Visual C+程序设计与应用教程2022/12/27第第6 6章章
41、 WindowsWindows常用控件常用控件 55【例【例6.46.4】编写一个对话框应用程序】编写一个对话框应用程序Li6_4Li6_4,对话框中有,对话框中有一个列表框,当用户单击列表框中的一个列表项(一位一个列表框,当用户单击列表框中的一个列表项(一位学生)时,在学生)时,在5 5个编辑框中分别显示这个学生的姓名、学个编辑框中分别显示这个学生的姓名、学号、性别、年龄及班级。单击添加按钮时,号、性别、年龄及班级。单击添加按钮时,“姓名姓名”编编辑框中的文本将被添加到列表框中;单击删除按钮时,辑框中的文本将被添加到列表框中;单击删除按钮时,当前的列表项将被删除。当前的列表项将被删除。Vis
42、ual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 566.6 CComboBox类控件的使用类控件的使用 6.6.1 组合框的属性组合框的属性 组合框控件是把编辑框和列表框控件组合起来的组合框控件是把编辑框和列表框控件组合起来的一类控件。一类控件。按风格特征,可把组合框分为按风格特征,可把组合框分为3 3类:类:简单组合框、简单组合框、下拉式组合框和下拉式列表框下拉式组合框和下拉式列表框。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 571 1简单组合框简单组合
43、框(Simple)(Simple)显示一个编辑控件和列表框。该列表框总是可显示一个编辑控件和列表框。该列表框总是可见的。当列表框包含的选项太多,显示不下时,将见的。当列表框包含的选项太多,显示不下时,将使用一个滚动条在整个列表框中滚动。使用一个滚动条在整个列表框中滚动。2 2下拉式组合框下拉式组合框(Dropdown)(Dropdown)除了包含一个编辑框和列表框外,还包含一个除了包含一个编辑框和列表框外,还包含一个下拉按钮。仅当单击下拉按钮时才出现列表框。编下拉按钮。仅当单击下拉按钮时才出现列表框。编排控件时单击下拉按钮,当光标变成排控件时单击下拉按钮,当光标变成“”“”形状时,形状时,可以
44、调整程序运行后列表框部分显示的大小(单击可以调整程序运行后列表框部分显示的大小(单击下拉按钮),如图所示。下拉按钮),如图所示。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 58Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 593 3下拉式列表框下拉式列表框(DropList(DropList)与下拉式组合框相似,只有被用户打开时,才与下拉式组合框相似,只有被用户打开时,才显示列表框。同时,编辑框只能显示选中的选项,显示列表框。同时,编辑框只能显示选中
45、的选项,而不允许用户输入。因此,用户只能从列表框中选而不允许用户输入。因此,用户只能从列表框中选择选项。择选项。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 60 组合框大部分属性与编辑框或列表框相关的属组合框大部分属性与编辑框或列表框相关的属性有相同的意义,但它有一个新的功能属性,即可性有相同的意义,但它有一个新的功能属性,即可以通过组合框控件属性对话框的以通过组合框控件属性对话框的DataData选项卡添加初选项卡添加初始的列表项,如下图所示。始的列表项,如下图所示。注意,每输入完一个列表项,按下注意,每输入完一个列表
46、项,按下Ctrl+EnterCtrl+Enter键后才能换行输入下一项。键后才能换行输入下一项。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 616.6.2 组合框的基本操作组合框的基本操作 组合框的操作可以分为两类:对组合框中的列组合框的操作可以分为两类:对组合框中的列表框进行操作和对组合框的编辑控件进行操作表框进行操作和对组合框的编辑控件进行操作。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 62Visual C+程序设计与应用教程2022/12/
47、27第第6 6章章 WindowsWindows常用控件常用控件 636.6.3 6.6.3 组合框的通知消息组合框的通知消息 在组合框的通知消息中,有的是列表框发出的,在组合框的通知消息中,有的是列表框发出的,有的是编辑框发出的。有的是编辑框发出的。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 64【例【例6.56.5】将例】将例6.46.4中列表框改用组合框,完成同样中列表框改用组合框,完成同样的功能。如图的功能。如图6.176.17所示。所示。Visual C+程序设计与应用教程2022/12/27第第6 6章章 W
48、indowsWindows常用控件常用控件 656.76.7 CSpinButtonCtrl类控件类控件 旋转按钮旋转按钮(spin)(spin)控件也称为上下控件或微调控控件也称为上下控件或微调控件,是一对箭头按钮,用户单击它们来增加或减小件,是一对箭头按钮,用户单击它们来增加或减小某个值,这个值表示旋转按钮的滚动位置或相应控某个值,这个值表示旋转按钮的滚动位置或相应控件中的一个数字件中的一个数字。个旋转按钮控件通常是与一个相伴的控件一个旋转按钮控件通常是与一个相伴的控件一起使用的,这个控件称为起使用的,这个控件称为“伙伴窗口伙伴窗口”。若相伴的。若相伴的控件的控件的TabTab键次序刚好在
49、旋转按钮控件的前面,则这键次序刚好在旋转按钮控件的前面,则这时的旋转按钮控件可以自动定位在它的伙伴窗口的时的旋转按钮控件可以自动定位在它的伙伴窗口的旁边,看起来就像一个单旁边,看起来就像一个单的控件。的控件。Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常用控件 666.7.1 旋转拨钮控件常用的风格旋转拨钮控件常用的风格控件放置方向:控件放置方向:VerticalVertical(垂(垂直)、直)、HorizontalHorizontal(水平)(水平)控件在伙伴的控件在伙伴的位置安排:位置安排:UnattachedUnattac
50、hed(不关联)、(不关联)、rightright(右(右边)、边)、leftleft(左边)(左边)自动选择一个自动选择一个Tab OrderTab Order中的前中的前一个窗口作为控件的伙伴窗口一个窗口作为控件的伙伴窗口使控件设置伙伴窗口使控件设置伙伴窗口数值,这个值可以是数值,这个值可以是十进制或十六进制十进制或十六进制不在每隔三个十不在每隔三个十进制数字的地方进制数字的地方加上千分隔符加上千分隔符当按下向上或向当按下向上或向下方向键时,也下方向键时,也能增加或减少能增加或减少Visual C+程序设计与应用教程2022/12/27第第6 6章章 WindowsWindows常用控件常