VC教案6标准控件.docx
- 文档编号:1393835
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:43
- 大小:728.76KB
VC教案6标准控件.docx
《VC教案6标准控件.docx》由会员分享,可在线阅读,更多相关《VC教案6标准控件.docx(43页珍藏版)》请在冰豆网上搜索。
VC教案6标准控件
课题:
Windows标准控件
目的要求:
了解基于对话框应用程序的运行机制
掌握windows标准控件的属性及使用
掌握windows标准控件的编程方法
掌握类向导创建变量和消息响应函数
教学重点:
windows标准控件的属性及使用
教学难点:
windows标准控件的属性及使用
教学课时:
4
教学方法:
讲练结合
教学内容与步骤:
基于对话框应用程序:
对话框作为程序主界面,主要用于输出信息和接收用户数据输入。
对话框是Windows应用程序中一种常用的资源,其主要功能是输出信息和接收用户的输入数据。
在MFC中,对话框的功能被封装在CDialog类中,而CDialog类是CWnd类的派生类,而用户创建的对话框类一般都是CDialog类的派生类,从头文件中可看出。
作为窗口,对话框和其它窗口一样具有窗口的一切功能。
对话框的一个典型应用是通过菜单命令或工具栏按钮打开一个对话框,当然,对话框也可以作为一个程序的主界面。
创建基于对话框应用程序:
利用MFCAppWizard向导创建一个基于对话框的应用程序框架。
利用对话框编辑器和控件工具栏浮动窗口,进行可视化界面设计。
根据程序具体功能要求添加代码,或添加成员变量和成员函数完成相应功能。
例:
编写一个对话框应用程序MyDialog,程序运行后显示一个对话框,并在对话框上显示文本串。
如下图。
步骤:
1,应利用用程序向导MFCAppWizard生成基于DialogBased的应用程序项目,程序名为:
MyDialog。
2,去掉对话框中静态文本控件,其标题为“TODO:
在这里设置对话控制”,调整对话框大小。
3,在成员函数CMyDialogDlg:
:
OnPaint()中添加代码
CPaintDCdc(this);
dc.SetBkMode(TRANSPARENT);
dc.TextOut(20,50,"这是一个对话框应用程序!
");
对话框类的结构:
1,对话框应用程序包含的类及主对话框类的主要成员:
应用程序名设为test
三个类:
CtestApp,CtestDlg,CAboutDlg
2,CDialog类从CWnd类派生而来,所以它继承了CWnd类的成员函数,具有CWnd类的基本功能,可以编写代码移动、显示或隐藏对话框,你的CDialog类的派生类中可以直接调用CDialog类的成员函数。
3,常用处理函数
CDialog:
:
CDialog()通过调用派生类构造函数,根据对话框资源模板定义一个对话框。
CDialog:
:
OnOk()单击OK按钮时调用该函数,接收对话框输入数据,关闭对话框。
CDialog:
:
OnCancel()
单击Cancel按钮或按Esc键时调用该函数,不接收对话框输入数据,关闭对话框。
CDialog:
:
OnInitDialog()在显示对话框前调用该函数进行初始化。
CDialog:
:
DoModal()激活模态对话框,显示对话框窗口。
CDialog:
:
Create()根据对话框资源模板创建非模态对话框窗口。
如果对话框不是Visible属性,还需通过调用CWnd:
:
ShowWindow()函数显示非模态对话框窗口。
CWnd:
:
ShowWindow(true,false)显示或隐藏对话框窗口
CWnd:
:
UpdateData()通过调用DoDataExchange()设置或获取对话框控件的数据
CWnd:
:
DoDataExchange()被UpdateData()调用以实现对话框数据交换,不能直接调用。
CWnd:
:
GetWindowText()获取对话框窗口的标题
CWnd:
:
SetWindowText()修改对话框窗口的标题
CWnd:
:
GetDlgItemText()获取对话框中控件的文本内容
CWnd:
:
SetDlgItemText()设置对话框中控件的文本内容
CWnd:
:
GetDlgItem()获取控件或子窗口的指针
CWnd:
:
MoveWindow()用于移动对话框窗口
CWnd:
:
EnableWindow()使窗口处于禁用或可用状态
CWnd:
:
CheckRadioButton设置单选按钮选中项
CWnd:
:
GetCheckedRadioButton获取单选按钮选中项
对话框数据交换DDX和验证DDV:
通过ClassWizard类向导将对话框控件与成员变量相关联。
调用UpdateData()时MFC通过调用DoDataExchange(){},实现对话框数据的交换DDX和验证DDV。
调用UpdateData(TRUE)函数时,DDX将数据从控件传递到关联的成员变量;当调用UpdateData(FALSE)时,MFC通过调用DDX函数将数据从成员变量传递到关联的的控件。
如:
DDX_Text(pDX,IDC_EDIT1,m_edit);
DDV:
利用ClassWizard类向导添加成员变量时,用户如果在窗口的左下角输入数据的范围,如:
成员变量m_nInput时指定它的最小值和最大值分别为0和100。
ClassWizard将自动加入函数DDV的调用代码DDV_MinMaxUInt(pDX,m_nInput,0,100)。
程序运行后,如果用户的输入数据超出0~100的范围,DDV将显示一个提示信息对话框,提示用户有效的输入范围。
注:
显示调用:
UpdateData()实现对话框数据的交换DDX,
隐式调用:
程序调用CDialog:
:
DoModal()创建并显示对话框时,将自动调用CDialog:
:
OnInitDialog()完成初始化的工作。
在OnInitDialog()中调用了UpdateData(FALSE),将数据从成员变量传递到关联的控件,从而显示在控件中。
单击OK按钮将调用CDialog:
:
OnOk()函数,在OnOK()中调用了UpdateData(TRUE),将数据从控件传递到关联的成员变量。
控件概述:
控件是Windows提供的完成特定功能的独立小部件,也是一个小窗口,它使应用程序对话功能的设计更容易完成,在对话框与用户的交互过程中担任主要角色,用于完成用户输入和程序运行过程中的输出。
控件对应一个CWnd派生类的对象,它实际上也是一个窗口,可以通过调用窗口类的成员函数实现控件的移动、显示或隐藏、禁用或可用等操作,也可以重新设置它们的尺寸和风格等属性。
MFC以类的形式对标准控件和公共控件进行了封装,这些类大部分是从CWnd类直接派生而来。
标准控件:
Windows提供的控件分为两类:
标准控件和公共控件。
标准控件:
静态控件、编辑框、按钮、列表框、组合框和滚动条等。
利用标准控件可满足大部分用户界面程序设计的要求。
公共控件:
滑块、进度条、列表视控件、树视控件和标签控件等,利用公共控件实现应用程序用户界面风格的多样性。
常用的MFC控件类:
控件通知Notification消息:
用户对控件的操作将引发控件事件,Windows产生对应的控件通知Notification消息,消息由其父窗口(如对话框)接收并处理。
标准控件发送WM_COMMAND控件通知消息,公共控件一般发送WM_NOTIFY控件通知消息,有时也发送WM_COMMAND消息。
通过WM_COMMAND消息参数标识发出消息的控件和具体的事件,消息参数中包含了控件的ID标识和通知码(如BN_CLICKED单击按钮事件)。
控件通知码前缀最后一个字母为N。
程序员不必关心消息具体的发送和接收,只需利用ClassWizard将控件映射到成员变量,将控件消息映射到成员函数,然后编写具体的处理代码。
控件的创建方法:
控件在程序中可作为对话框控件或独立的窗口两种形式存在,因此,控件的创建方法也有两种。
一种方法是在对话框模板资源中指定控件,这样当应用程序创建对话框时,Windows就会为对话框创建控件,编程时我们一般都采用这种方法。
一种方法是通过调用MFC控件类的成员函数Create()创建控件,也可以调用API函数CreateWindow()或CreateWindowEx()创建控件。
控件也可以用于其它窗口,如在程序视图窗口显示控件。
这时,需要首先声明一个MFC控件类的对象,然后调用Create()函数创建控件,如:
画笔类对象。
控件的组织:
1,添加或删除控件
打开对话框编辑器和控件工具栏,在控件工具栏中单击要添加的控件,此时,当光标指向对话框时将变成十字形状,在对话框指定位置处单击鼠标左键,则该控件被添加到对话框中指定的位置。
也可以将光标指向控件工具栏中的控件,然后按住鼠标不放,采用鼠标拖曵的方法将控件拖入到对话框中。
要删除已添加的控件,先单击对话框中的控件,再按Delete键即可删除指定的控件。
2.设置控件属性
将光标指向对话框中需设置属性的控件,按回车键(或右击鼠标,在弹出式菜单中选择Properties项)弹出Properties对话框,在Properties对话框中设置控件属性。
可以将属性对话框始终保持打开,只需要按下属性对话框左上角的图钉按钮。
3.调整控件的大小
对于静态文本控件,当输入标题内容时,控件的大小会自动改变。
对于其它控件,先单击控件,然后利用控件周围的尺寸调整点来改变控件的大小。
所选对象的位置和大小将显示在状态栏的右端。
4.同时选取多个控件
一种方法是在对话框内按住鼠标不放,拖曵出一个大的虚线框,然后释放鼠标,则被该虚线框所包围的控件都将被同时选取;另一种方法是按住Shift(或Ctrl)键不放,然后用鼠标连续选取控件。
5.移动和复制控件
当单个或多个控件被选取后,按方向键或用鼠标拖动选择的控件可移动控件。
若在鼠标拖动过程中按住Ctrl键则复制控件,复制的控件保持原来控件的大小和属性。
并且,控件能够通过复制和粘贴操作而加入到其它对话框中。
6.编排控件
编排控件主要是指同时调整对话框中一组控件的大小或位置。
编排控件有两种方法,一种方法是使用控件布局工具栏,自动编排对话框中同时选定的多个控件;另一种方法是使用Layout菜单,当打开对话框编辑器时,Layout菜单将出现在菜单栏上。
为了便于用户在对话框内精确定位各个控件,系统还提供了网格、标尺等辅助功能。
测试对话框和控件的方法:
通过按下Ctrl+T组合键就能测试对话框运行时的界面效果。
控件共有属性:
控件的属性决定了控件的外观和功能,我们只有通过控件属性对话框才能设置控件的属性。
不同控件有不同的属性,但它们都具有通用属性,如控件标识ID、标题Caption等项,
控件属性对话框上有若干选项卡,如General(通用属性)、Style(风格)及ExtendStyles(扩展风格)选项卡等,其中General页用于设置控件的通用属性,Styles和ExtendcdStyles页用来设置控件的外观和辅助属性。
控件的General属性:
按钮控件:
CButton类
按钮是最常见的控件之一,按钮控件包括:
普通按钮,圆按钮,复选框按钮,组框按钮,自绘按钮。
下压式按钮(或普通按钮或按键按钮):
功能,按键按钮在被按下时会立即执行某个命令,也被称为命令按钮。
Properties对话框可以设置按钮的不同风格,如通过设置Defaultbutton属性设置一个默认按钮。
其它属性:
Ownerdraw利用WM_DRAWITEM消息处理函数定制按钮的外观,Icon表示用图标代替原来的文本标题,Bitmap表示用位图代替原来的文本标题,Clientedge、Staticedge、Modalframe用于设置按钮的外观。
单选按钮(或圆按钮):
在一组互相排斥的选项中选择其中一项。
由一个圆圈和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 教案 标准 控件
![提示](https://static.bdocx.com/images/bang_tan.gif)