VC++6.0入门【第七章_windows标准控件】.doc

上传人:xins****2008 文档编号:111002352 上传时间:2019-11-01 格式:DOC 页数:51 大小:1.84MB
返回 下载 相关 举报
VC++6.0入门【第七章_windows标准控件】.doc_第1页
第1页 / 共51页
VC++6.0入门【第七章_windows标准控件】.doc_第2页
第2页 / 共51页
VC++6.0入门【第七章_windows标准控件】.doc_第3页
第3页 / 共51页
VC++6.0入门【第七章_windows标准控件】.doc_第4页
第4页 / 共51页
VC++6.0入门【第七章_windows标准控件】.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《VC++6.0入门【第七章_windows标准控件】.doc》由会员分享,可在线阅读,更多相关《VC++6.0入门【第七章_windows标准控件】.doc(51页珍藏版)》请在金锄头文库上搜索。

1、第七章 windows 标准控件第7章Windows标准控件精讲在前一章,已经学习了在一个对话框中增加控件,用户通过对话框中的控件与应用程序进行交互的方法,在这一章,主要详细讨论不同Windows标准控件的使用特性,你将学会静态控件、按钮控件、编辑框控件、列表框控件、组合框控件、滚动条控件的使用。7.1Windows标准控件概述7.1.1 Winodws 标准控件Windows系统提供的标准控件主要包括:静态控件、按钮控件、编辑框控件、列表框控件、组合框控件等,如表7-1所示。表7-1windows标准控件的类型类别MFC类控件类型静态控件CStaticStatic Text、Group Bo

2、x按钮控件CButtonButton、Check Box、Radio Button编辑框控件CEditEdit Control组合框控件CComboBoxCombo Box列表框控件CListBoxList Box控件操作的学习要关注以下几个方面:1 控件的创建控件的创建形式分为静态创建和动态创建两种方式。静态创建是指在对话框模板创建控件,并设置控件的属性,这样,在调用该对话框时,窗口系统会自动按预先的设置为对话框创建控件,程序员可以使用ClassWizard为该控件在对话框类中创建一个控件类的对象。动态创建是指在程序的运行中根据需要,定义一个控件类的对象,再通过窗口函数CreateWindo

3、w()或CreateWindowEx()创建控件,函数ShowWindow()显示控件,正如操作一个子窗口。2 控件的属性设置每个控件都有一个属性集,对于静态创建的控件,可以在对话框模板中,打开控件的属性对话框直接设置控件的初始属性。在程序设计过程中,可以通过控件类对象调用方法设置控件的属性。3 控件消息类别表7-1中所列出的控件中,静态控件不发送消息,其它控件对于用户的操作都能发送消息,不同类的控件发送的消息类别是不相同的,可以使用ClassWizard为控件映射各种消息处理函数。4 控件对象的常用方法MFC控件类提供丰富的方法函数,帮助程序员操作控件对象。5 用户输入消息的获取和响应在前一

4、章已经介绍了MFC支持应用程序与用户之间的通讯的方法,为控件的显示值映射一个对话框类的成员变量,再通过对话框数据交换和校验机制实现在对话框打开和关闭的时候传递数据,在程序运行过程中,通过UpdateData()函数主动地控制数据在控件显示和成员变量之间交换。这是MFC应用程序获取用户输入消息的获取的主要方法。同时MFC保留了Windows API函数,直接通过控件ID操作控件,获取或设置控件的显示值。例如SetDlgItemText()和GetDlgItemText()函数可以用于设置或获取编辑框的显示文本串。7.1.2控件的通用属性Windows标准控件的属性窗口通常由三个属性标签构成。1

5、General标签页General 标签页中设置常规属性,通常包括:(1) ID程序通过控件ID来访问一个控件。所有的控件中,只有Static Box控件和Group Box控件的ID是可以重复,一般使用默认设置IDC_STATIC,而其它控件的ID在一个应用程序中应该是唯一的。 (2) Visible设置对话框打开时控件是否是可见的。它的类型是布尔类型。默认为TURE,即运行程序时显示控件。(3) Disabled设置当对话框在打开时该控件是否是不可用的,它的类型是布尔类型,默认为FALSE。(4) Group标记一组控件中的第一个控件。(5) Tap stop设置TAB键是否可以该控件上驻

6、留,它的类型是布尔型,默认值为TURE。(6) Help ID分配一个帮助ID给一个控件。这一个帮助ID是建立在资源ID基础上的。它的类型是布尔型,默认为FALSE。2 Styles标签页Style标签页通过设置一些与控件风格有关的属性,不同的控件所设置的属性不相同,在本章的后续小节中将按不同的控件介绍。3 Extend Styles标签页Extent Styles标签面设置与显示风格有关的属性,通常包括:(1) Client edge围绕对话框建立一个有下凹风格的边框。它的类型是布尔型,默认值是FALSE。(2) Static edge围绕对话框建立一个边框。它的类型是布尔型,默认值是FAL

7、SE。(3) Modal frame该选项提供一个3D框架。(4) Transparent使用这种风格的窗口在层叠状态下是透明的,它的类型是布尔型,默认值是FALSE。(5) Accept files有这种风格的对话框接受拖放文件操作。如果用户拖放一个文件到此对话框上,一个WM_DROPFILES消息将要发送到这个控件上。它的类型是布尔型,默认值是FALSE。(6) Right aligned text指定在一个对话框中文本是右对齐的。它的类型是布尔型,默认值是FALSE。(7) Right-to-left reading order对话框的文本是按从右到左的顺序编排的,这是为了方便一些其他的

8、语言的阅读方便而设置的(如阿拉伯语言)。它的类型是布尔型,默认值是FALSE。7.1.3常用控件窗口操作函数 窗口应用程序对控件的操作实质上是对窗口的操作,对话框窗口中的控件被视为对话框窗口的子窗口,具有通用的窗口属性,所以控件的操作还可是通过一组操作窗口的函数来完成的。常用的控件子窗口操作函数有:1 CreateWindow()或CreateWindowEx()在程序运行过程中,可以通过调用创建窗口的函数来动态地创建控件,创建窗口的函数是CreateWindow()或CreateWindowEx()。2 ShowWindow()使用函数ShowWindow()可以显示或隐藏控件。它的函数原型

9、为:BOOLShowWindow(int nCmdShow);参数nCmdShow表示窗口的显示特性,例如,取值SW_HIDE表示隐藏控件,取值SW_SHOW表示显示控件。3 EnableWindow()通过函数EnableWindow()可以激活或禁止控件接受用户输入。它的函数原型为:BOOLEnableWindow(BOOL nEnable=ture);参数nEnable决定控件的激活或禁止状态,当值为ture时,控件允许接受用户输入,当其值为fals时,控件不允许接受用户输入,呈灰色显示。4 MoveWindow()通过函数MoveWindow()可以移动控件或改变控件的大小。函数的原型

10、如下:BOOL MoveWindow(int x,int y,int nWidth,int nHeight,BOOL bRepaint=TRUE);坐标x,y决定控件所在的位置,nWidth和nHeight决定控件的大小,bRepaint表明对话框窗口移动后,控件是否需要重画,与对话框窗口的相对位置与大小保持不变。5 DestroyWindow()通过该函数能够关闭一个控件,该函数的原型为:void DestoyWindow();7.2 CStatic类控件的使用在程序中出现的文本根据作用的不同,可以分为两大类:静态文本和动态文本。静态文本在程序的执行中保持不变,主要用来表示控件的功能、下一步

11、执行的操作等。动态文本在程序执行过程中是可以改变的,在Windows中通过可以通过编辑控件来实现。MFC中使用CStatic类来管理静态文本控件,包括StaticText控件和Group Box控件,StaticText控件通常用来标识一个控件,Group Box通常用来分割不同组别的控件。一般情况下,静态控件不接受用户输入,也不发出消息。它的ID号默认为IDC_STATIC,只有CStatic类的控件的ID号是可以重复的。7.2.1 Static Text控件用户能添加到对话框中的最简单控件是静态文本控件。静态文本控件不要求与对话框进行交互, 需要显示的文本串只要在该控件属性对话框的Gene

12、ral标签中的Caption属性中直接输入。对静态文本,可以在Styles标签页中设置文本的显示风格,设置属性解释如下:1 Align text控制静态文本控件中文本的对齐方式。可能的取值有Right(右对齐),Left(左对齐),Center(居中),当No wrap选项选中时,这个选项设置为Left,它的默认值为Left。2 Center vertically在静态文本控件中垂直方向上居中。它的类型是布尔型,默认值是FALSE。3 No prefix禁止文本中的“&”解释为它后面的字符有一个下划线,直接将它作为文本的一部分进行显示。No prefix选项经常在显示包含“&”的文件名或字符串

13、中用到。4 No wrap前提条件是文本必须是左对齐的。在这种选项下Tabs是可扩展的,但是单词是不能被完整保护的。在行的末尾扩展处的那一部分将被剪切掉。它的类型是布尔型,默认值是FALSE。5 Simple 此选项将禁用No wrap和Align text选项。在静态文本控件中的文本如果有此属性,就不保护单词的完整性,且不保证不被剪切。它的类型是布尔型,默认值是FALSE。6 Notify此选项表示当一个控件被选中或双击时,要通知父窗口。此选项的类型是布尔型,默认值是FALSE。7 Sunken此选项表示围绕静态文本控件的文本,建立一个凹下的边框。它的类型是布尔型,默认值是FALSE。8 B

14、order此选项表示围绕静态文本控件的文本,建立一个边框。它的类型是布尔型,默认值是FALSE。7.2.2 Group Box控件Group Box 的作用与Static Text的类似,主要是用于标识控件的作用,它更多能用于成组控件的标识,例如,如图7-1所示,一组用于选择性别的单选按钮,一组用于表示兴趣爱好的复选框按钮。Group Box的Styles标签页的属性设置更为简单:1 Horizontal alignment此选项用于设置Group Box 中文本串显示的水平对齐位置,在下拉列表中提供了四个选项:Default,Right,Left,Center,默认选项为Default,表示

15、左对齐。2 Icon此选项表示使用图标表示作标识,代替文本串。3 Bitmap此选项表示使用位图表示作标识,代替文本串。4 Notify此选项这表示当一个控件被选中或双击时,要通知父窗口。此选项的类型是布尔型,默认值是FALSE。5 Flat此选项设置Group Box的线条显示风格。图7-1静态控件示例7.3 CEdit类控件的使用编辑控件用于必须获取文本的时候,例如,在对话框内输入名字或数字时,由编辑控件获取此信息。编辑控件是用来存储用户输入的自由格式文本的窗口,它可以分为单行编辑控件和多行编辑控件。单行编辑控件是用于单行文本输入的控件,多行文本编辑控件是用于多行文本输入的控件。在多行编辑控件中经常使用滚动条,从而能输入比能显示的文本更多的文本。事实上,Windows中的记事本(Notepad)应用程序就是一个带有控件菜单的编辑控件。每个编辑控件都提供了内置编辑能力,因此可以使用多行编辑控件来创建一个简单的文本编辑器。所有的编辑控件都支持特定的编辑功能,而不需要任何附加编程。在剪贴板中用到的粘贴命令在编辑控件中照常可以使用,表7-2中列出了编辑控件可以使用的编辑命令。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号