Windows程序设计教程 教学课件 作者 郭皞岩 屈景辉 廖琪梅 第9章子窗体控件.ppt

Windows程序设计教程 教学课件 作者 郭皞岩 屈景辉 廖琪梅 第9章子窗体控件.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows程序设计教程 第9章 子窗体控件 在Windows应用程序中,控件是人机交互的一个重要角色。 例如,对话框中的按钮、下拉列表框、编辑框等都是控件。 在Visual C++中,MFC提供了许多控件类。 通过这些封装好的控件类,用户可以方便地创建和使用控件。 本章将依次讲解Windows中的常用标准控件。 通过本章的学习,读者可以熟练地为对话框添加和使用控件。 9.1 Windows标准控件 Windows操作系统有着大量的标准控件,控件随处可见。 读者可以任意打开一个窗口或是对话框,可以看到各式各样的控件。 本节将对Windows的标准控件做详细介绍。 9.1.1 控件概述 Visual C++提供了许多常用的标准控件。 通过Visual C++对话框编辑器和控件工具栏,可以将它们加入到对话框中。 Visual C++中的控件工具栏如图9.1所示。 9.1.2 窗口类CWnd 所有控件类都是CWnd类的派生类,CWnd类的所有成员函数在控件类中都可以使用。 在MFC中,CWnd类是一个很重要的类,它封装了Windows窗口句柄HWND。 在Windows编程中,每一个窗口都是由窗口句柄标识的。 但是,CWnd类的对象和窗口句柄之间的概念并不是等同的。 CWnd对象的创建和销毁,是由CWnd类的构造函数和析构函数完成的,而Windows窗口是Windows内部的一种数据结构,它由CWnd类的Create成员函数创建,由其析构函数销毁。 一般情况下,创建一个窗口需要两步:首先,调用CWnd类的构造函数,构造一个CWnd对象,然后调用CWnd的成员函数Create(),创建窗口。 当用户要关闭该窗口时,可以销毁与窗口相关的CWnd对象,或者调用CWnd对象的成员函数DestroyWindow(),删除窗口并销毁其数据结构。 下面分别给出在CWnd类中定义的各种经常用到的成员函数的定义及功能。 1.改变窗口状态 在CWnd类中,改变窗口状态的常用成员函数的定义及功能如表9.2所示。 2.改变窗口位置 在CWnd类中,改变窗口位置的常用成员函数的定义及功能如表9-3所示。 3.使窗口失效,引发重绘 在CWnd类中,使窗口失效,引发重绘的常用成员函数的定义及功能如表9-4所示。 4.窗口查找 在CWnd类中,查找窗口的常用成员函数的定义及功能如表9-5所示。 5.时钟 在CWnd类中,与时钟有关的常用成员函数的定义及功能如表9.6所示。 6.可以利用重载来添加消息处理的虚函数 在CWnd类中,常用的消息处理的虚函数的定义及功能如表9.7所示。 9.2 创 建 控 件 在Visual C++中,创建控件有两种方法:一种是静态创建,另一种是动态创建。 (1)静态创建:所谓静态创建,就是在对话框模板中利用控件工具栏,直接将控件拖动到对话框上,然后通过Class Wizard为控件添加变量、消息响应函数。 (2)动态创建:所谓动态创建,就是在编写代码时利用控件对应的控件类构造一个控件对象,然后调用Create()函数来创建该控件。 9.2.1 静态创建控件 创建静态控件时必须先建立一个容器。该容器一般是对话框。 然后从工具窗口中拖动出所需要的控件放到容器(对话框)中,再适当修改控件ID,设置控件的属性即可。 9.2.2 动态创建控件 使用手动添加控件的方法,用户也能够向窗口中添加所需的控件,灵活性很大。 与静态创建控件的方法相比,动态创建控件需要调用Create()函数。 动态创建控件的过程如下所述。 (1)创建控件ID。 ID是控件的标识,创建控件前必须先为它设置一个ID。 (2)建立控件对象。 不同种类的控件对应着不同的控件对象。 (3)调用控件对象的Create()函数创建动态控件。 (4)响应动态控件。 (5)回收资源。 不同种类的控件所调用的Create()函数参数意义有所不同。

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档