第4章vc++程序设计课件内容-.ppt

上传人(卖家):三亚风情 文档编号:3164790 上传时间:2022-07-26 格式:PPT 页数:104 大小:3.16MB
下载 相关 举报
第4章vc++程序设计课件内容-.ppt_第1页
第1页 / 共104页
第4章vc++程序设计课件内容-.ppt_第2页
第2页 / 共104页
第4章vc++程序设计课件内容-.ppt_第3页
第3页 / 共104页
第4章vc++程序设计课件内容-.ppt_第4页
第4页 / 共104页
第4章vc++程序设计课件内容-.ppt_第5页
第5页 / 共104页
点击查看更多>>
资源描述

1、Visual C+.NET 程序设计建议学时:建议学时:12学习重点:理解相关概念学习重点:理解相关概念 掌握对话框编程掌握对话框编程 掌握常用控件使用掌握常用控件使用第四章 对话框及Windows常用控件本章内容123对话框对话框模态对话框和非模态对话框模态对话框和非模态对话框属性对话框属性对话框通用对话框通用对话框WindowsWindows常用控件常用控件6综合实例综合实例45对话框主要由两部分组成对话框主要由两部分组成:对话框资源和对话框类对话框资源和对话框类 对话框资源对话框资源4.1 对话框概述对话框概述对话框类对话框类4.1 对话框概述对话框概述4.1 对话框概述对话框概述v 对

2、话框对话框(Dialog Box)是是GUI(图形用户界面(图形用户界面Graphical User Interface)的常用组件,也是其最复杂的组件。)的常用组件,也是其最复杂的组件。v 按照对话框工作方式可以分为两种类型:按照对话框工作方式可以分为两种类型:模态对话框模态对话框和和非非模态对话框模态对话框。v 模态对话框:在关闭模态对话框之前,该程序不能进行其模态对话框:在关闭模态对话框之前,该程序不能进行其他工作。我们通常所用的对话框大部分都是模态对话框。他工作。我们通常所用的对话框大部分都是模态对话框。如:如:“保存保存”对话框;对话框;“打开打开”对话框。对话框。v 非模态对话框:

3、非模态对话框打开后,该程序仍然能够进非模态对话框:非模态对话框打开后,该程序仍然能够进行其他工作。如:行其他工作。如:“查找与替换查找与替换”对话框。对话框。MFCMFC的对话框基类为的对话框基类为CDialogCDialog,它既支持模态对话框,也支,它既支持模态对话框,也支持非模态对话框。派生关系如下所示持非模态对话框。派生关系如下所示:CObjectCCmdTargetCWndCDialog4.1 对话框概述对话框概述CDialogCDialog的主要的成员函数有:的主要的成员函数有:virtual virtual intint DoModalDoModal()()功能:打开模态对话框,

4、直到对话框关闭时返回。若点击功能:打开模态对话框,直到对话框关闭时返回。若点击“OK”OK”键关闭,则返回键关闭,则返回“IDOK”IDOK”。BOOL BOOL Create(LPCTSTRCreate(LPCTSTR lpszTemplateName,CWndlpszTemplateName,CWnd *pParentWndpParentWnd=NULL)=NULL)功能:创建一个对话框。(通常用于非模态对话框的创建)功能:创建一个对话框。(通常用于非模态对话框的创建)void void EndDialog(intEndDialog(int nResultnResult)功能:退出一个模态

5、对话框功能:退出一个模态对话框4.1 对话框概述对话框概述virtual void virtual void OnCancelOnCancel()()功能:该函数是单击模态或非模态对话框中的功能:该函数是单击模态或非模态对话框中的CancelCancel按按钮,或钮,或EscEsc键时,由框架调用。键时,由框架调用。virtual BOOL virtual BOOL OnInitDialogOnInitDialog()()功能:对话框初始化功能:对话框初始化 virtual void virtual void OnOKOnOK()()功能:单击功能:单击OKOK(或确定)按钮,(或确定)按钮,

6、(IDID为为IDOKIDOK的按钮)时的按钮)时调用的函数,关闭模态对话框,并返回调用的函数,关闭模态对话框,并返回IDOKIDOK。4.1 对话框概述对话框概述1.1.模态对话框的创建和引用过程模态对话框的创建和引用过程基本步骤:基本步骤:添加对话框资源,设置其属性。添加对话框资源,设置其属性。在在Resource ViewResource View,DialogDialog中右键点击,插入新中右键点击,插入新对话框。对话框。4.2 模态和非模态对话框模态和非模态对话框IDD通常需要修改Caption用于输入标题要确保Language为“中文”4.2 模态和非模态对话框模态和非模态对话框

7、为新建的对话框建立相应的类。使对话框与具体的类为新建的对话框建立相应的类。使对话框与具体的类相绑定。相绑定。4.2 模态和非模态对话框模态和非模态对话框 在主对话框中定义对话框对象,并调用在主对话框中定义对话框对象,并调用DoModalDoModal函数打开函数打开注意:在主对话框类中需要添加注意:在主对话框类中需要添加#include“#include“对话框类名对话框类名.h”.h”如:如:#include“Dlg1.h”#include“Dlg1.h”CDlg1 d1;CDlg1 d1;d1.DoModal();d1.DoModal();4.2 模态和非模态对话框模态和非模态对话框【例例

8、4_14_1】模态对话框的创建过程。模态对话框的创建过程。4.2 模态和非模态对话框模态和非模态对话框2.2.非模态对话框的创建和引用过程非模态对话框的创建和引用过程基本步骤:基本步骤:在在Resource ViewResource View,DialogDialog中右键点击,插入新对话框。中右键点击,插入新对话框。为新建的对话框建立相应的类。使对话框与具体的类相绑定为新建的对话框建立相应的类。使对话框与具体的类相绑定 在主对话框中定义对话框对象,并调用在主对话框中定义对话框对象,并调用CreateCreate函数打开。并通函数打开。并通过过ShowWindowShowWindow函数显示。

9、函数显示。注意:定义类的对象必须定义为指针类型。注意:定义类的对象必须定义为指针类型。利用利用DestroyWindowDestroyWindow函数关闭非模态对话框。函数关闭非模态对话框。注意:注意:OnOkOnOk或或OnCancelOnCancel函数仅为隐藏非模态对话框,而函数仅为隐藏非模态对话框,而DestroyWindowDestroyWindow可以关闭非模态对话框。可以关闭非模态对话框。4.2 模态和非模态对话框模态和非模态对话框例如:例如:CNewDlgCNewDlg *pDlgpDlg=new=new CNewDlgCNewDlg;pDlgpDlg-Create(IDD_D

10、IALOG1,this);-Create(IDD_DIALOG1,this);pDlgpDlg-ShowWindow(SW_SHOWShowWindow(SW_SHOW););4.2 模态和非模态对话框模态和非模态对话框【例例4_24_2】非模态对话框的创建过程。非模态对话框的创建过程。4.2 模态和非模态对话框模态和非模态对话框 创建属性页的方法创建属性页的方法(两种)(两种)1.1.在相关函数里创建在相关函数里创建CPropertySheetCPropertySheet类的对象。类的对象。添加每个属性页对话框,并为每个对话框添加以添加每个属性页对话框,并为每个对话框添加以CProperty

11、PageCPropertyPage类为基类的对话框类。类为基类的对话框类。创建创建CPropertySheetCPropertySheet类的对象,调用类的对象,调用AddPageAddPage函数进行加载函数进行加载AddPageAddPage函数定义:函数定义:void void AddPageAddPage(CPropertyPageCPropertyPage *pPagepPage)调用调用DoModalDoModal函数打开属性对话框。函数打开属性对话框。4.3 属性对话框属性对话框参考代码:参考代码:CPropertySheet s1(_T(CPropertySheet s1(_T

12、(属性页对话框属性页对话框););CPage1 p1;CPage1 p1;CPage2 p2;CPage2 p2;CPage3 p3;CPage3 p3;s1.AddPage(&p1);s1.AddPage(&p1);s1.AddPage(&p2);s1.AddPage(&p2);s1.AddPage(&p3);s1.AddPage(&p3);s1.DoModal();s1.DoModal();4.3 属性对话框属性对话框【例例4_34_3】属性对话框的创建过程。属性对话框的创建过程。4.3 属性对话框属性对话框2.2.创建一个新的以创建一个新的以CPropertySheetCProperty

13、Sheet为基类的类,并通过其对为基类的类,并通过其对象创建。(书上的方法)象创建。(书上的方法)添加每个属性页对话框,并为对话框添加以添加每个属性页对话框,并为对话框添加以CPropertyCProperty Page Page类为基类的对话框类。类为基类的对话框类。创建新的以创建新的以CPropertySheetCPropertySheet为基类的类。为基类的类。Project-Add Class-MFC class-Project-Add Class-MFC class-4.3 属性对话框属性对话框在新类的在新类的.h.h文件内添加属性页类的对象。文件内添加属性页类的对象。如:如:CPa

14、ge1 p1;CPage1 p1;CPage2 p2;CPage2 p2;CPage3 p3;CPage3 p3;在新类的在新类的.cppcpp文件的第二个构造函数内调用文件的第二个构造函数内调用AddPageAddPage函数加载函数加载如:如:AddPage(&p1);AddPage(&p2);AddPage(&p3);AddPage(&p1);AddPage(&p2);AddPage(&p3);在相关函数中创建新类的对象,并调用在相关函数中创建新类的对象,并调用DoModalDoModal函数打开属性函数打开属性页对话框。页对话框。4.3 属性对话框属性对话框 已经被系统定义好,直接可以

15、拿来使用的对话框已经被系统定义好,直接可以拿来使用的对话框4.4 通用对话框通用对话框消息对话框(消息对话框(MessageBoxMessageBox或或AfxMessageBoxAfxMessageBox 类)类)一种简单的对话框,用户可以直接调用消息对话框一种简单的对话框,用户可以直接调用消息对话框函数来使用它,而不需要自己创建。函数来使用它,而不需要自己创建。Visual C+Visual C+提供三个消息提供三个消息对话框函数,它们的原型为:对话框函数,它们的原型为:intint AfxMessageBox(LPCTSTRAfxMessageBox(LPCTSTR lpText,UIN

16、TlpText,UINT nTypenType=MB_OK,UINT=MB_OK,UINT nIDHelpnIDHelp=0);=0);intint MessageBox(HWNDMessageBox(HWND hWnd,LPCTSTRhWnd,LPCTSTR lpText,LPCTSTRlpText,LPCTSTR lpCaption,UINTlpCaption,UINT nTypenType););intint CWnd:MessageBox(LPCTSTRCWnd:MessageBox(LPCTSTR lpText,LPCTSTRlpText,LPCTSTR lpCaptionlpCap

17、tion=NULL,UINT=NULL,UINT nTypenType=MB_OK);=MB_OK);4.4 通用对话框通用对话框4.4 通用对话框通用对话框4.4 通用对话框通用对话框例如:例如:void CLi2_1View:OnDraw(CDCvoid CLi2_1View:OnDraw(CDC*pDCpDC)CLi2_1DocCLi2_1Doc*pDocpDoc=GetDocumentGetDocument();();ASSERT_VALID(pDocASSERT_VALID(pDoc););/TODO:add draw code for native data here/TODO:a

18、dd draw code for native data hereMessageBox(_TMessageBox(_T(这是一个单文档应用程序!这是一个单文档应用程序!),),_T(_T(消息框消息框),MB_ICONEXCLAMATION|MB_OKCANCEL);),MB_ICONEXCLAMATION|MB_OKCANCEL);或者或者AfxMessageBox(_TAfxMessageBox(_T(这是一个单文档应用程序!这是一个单文档应用程序!),),MB_ICONEXCLAMATION|MB_OKCANCEL);MB_ICONEXCLAMATION|MB_OKCANCEL);两个函

19、数均至少可定义一个参数。两个函数均至少可定义一个参数。运行结果如下:运行结果如下:1.1.颜色对话框(颜色对话框(CColorDialogCColorDialog 类)类)CColorDialogCColorDialog类提供了可以选择颜色的对话框,使得用类提供了可以选择颜色的对话框,使得用户可以从颜色列表中选择要用的颜色。该类的操作步骤进行户可以从颜色列表中选择要用的颜色。该类的操作步骤进行:(1)(1)在视图类相应位置构造在视图类相应位置构造CColorDialogCColorDialog对象。对象。(2)(2)调用成员函数调用成员函数DoModalDoModal()()来显示对话框并让用

20、户从中选择来显示对话框并让用户从中选择颜色。颜色。(3)(3)通过通过GetColorGetColor函数获取得到的颜色。函数获取得到的颜色。参考参考代码:代码:CClientDC dc(this);CClientDC dc(this);CColorDialog coldlg;CColorDialog coldlg;if(coldlg.DoModal()if(coldlg.DoModal()=IDOK=IDOK)COLORREF COLORREF col=coldlg.GetColor();col=coldlg.GetColor();dc.SetTextColor(col);dc.SetTex

21、tColor(col);dc.TextOut(250,250,_T(dc.TextOut(250,250,_T(颜色被选定颜色被选定););4.4 通用对话框通用对话框【例例4_4_14_4_1】颜色对话框的使用。颜色对话框的使用。4.4 通用对话框通用对话框 2.2.字体对话框(字体对话框(CFontDialogCFontDialog类)类)CFontDialogCFontDialog的成员函数的成员函数 4.4 通用对话框通用对话框 CFontDialogCFontDialog类封装了标准的类封装了标准的【字体字体】对话框,使得用对话框,使得用户可以从系统安装的字体列表中选择要用的字体。户

22、可以从系统安装的字体列表中选择要用的字体。该类的操作步骤进行该类的操作步骤进行:(1 1)定义)定义LOGFONTLOGFONT对象对象f1f1,并定义,并定义CFontDialogCFontDialog对象对象dlg(&f1)dlg(&f1)(2 2)通过)通过DoModalDoModal对象打开字体对话框对象打开字体对话框(3 3)通过)通过CFontCFont的成员函数的成员函数CreateFontIndirectCreateFontIndirect创建所选字体,创建所选字体,并通过并通过GetColorGetColor函数获取所选颜色。函数获取所选颜色。参考参考代码:代码:CClien

23、tDC dc(this);CClientDC dc(this);LOGFONT f1;LOGFONT f1;COLORREF c1;COLORREF c1;CFontDialog fontdlg(&f1);CFontDialog fontdlg(&f1);if(fontdlg.DoModal()=IDOK)if(fontdlg.DoModal()=IDOK)CFont f2;CFont f2;f2.CreateFontIndirect(&f1);f2.CreateFontIndirect(&f1);CFont CFont*oldfont=dc.SelectObject(&f2);oldfont

24、=dc.SelectObject(&f2);c1=fontdlg.GetColor();c1=fontdlg.GetColor();dc.SetTextColor(c1);dc.SetTextColor(c1);dc.TextOut(250,250,_T(dc.TextOut(250,250,_T(字体被选定字体被选定););dc.SelectObject(oldfont);dc.SelectObject(oldfont);4.4 通用对话框通用对话框【例例4_4_24_4_2】字体对话框的使用。字体对话框的使用。3.3.文件对话框(文件对话框(CFileDialogCFileDialog类)

25、类)用用CFileDialogCFileDialog类提供的通用文件对话框,实现类提供的通用文件对话框,实现WindowsWindows标准的标准的【打开打开】和和【另存为另存为】功能。功能。使用使用CFileDialogCFileDialog步骤步骤:构造构造CFileDialogCFileDialog类的对象。该类的构造函数为:类的对象。该类的构造函数为:CFileDialog(BOOLCFileDialog(BOOL bOpenFileDialogbOpenFileDialog,)值为值为TRUETRUE,代表,代表【打开打开】对话框;对话框;值为值为FALSEFALSE,构造,构造【另

26、存为另存为】对话框对话框CFileDialogCFileDialog dlg(TRUE,_T(bmp“),_Tdlg(TRUE,_T(bmp“),_T(*.bmp“),.bmp“),OFN_HIDEREADONLYOFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,_T(|OFN_ALLOWMULTISELECT,_T(文本文件文本文件(*.txt)|.txt)|*.txt|Wordtxt|Word文件文件(*.doc)|.doc)|*.doc|);.doc|);第第1 1个参数个参数TRUETRUE:【打开打开】对话框;对话框;第第2 2个参数个参数“bmp”bmp”

27、:如果在文件名对话框中输入文件名时未:如果在文件名对话框中输入文件名时未指定扩展名,则会自动附加指定扩展名,则会自动附加“.bmp”.bmp”;第第3 3个参数个参数“*.bmp”.bmp”:文件名对话框中的初始文件名是:文件名对话框中的初始文件名是*.bmp.bmp;第第4 4个参数代表个参数代表dwFlagsdwFlags:不显示隐藏文件,且可以在列表框:不显示隐藏文件,且可以在列表框中进行多选;中进行多选;如:如:OFN_EXPLORER,OFN_HIDEREADONLY,OFN_ALLOMULTISELECTOFN_EXPLORER,OFN_HIDEREADONLY,OFN_ALLOM

28、ULTISELECT第第5 5个参数是过滤器:允许打开文件的类型,可以多选,以个参数是过滤器:允许打开文件的类型,可以多选,以|表示或者,以表示或者,以|表示结束。表示结束。(2)(2)调用成员函数调用成员函数DoModalDoModal()(),将对话框显示在屏幕上,将对话框显示在屏幕上,并让用户从中选择文件。并让用户从中选择文件。(3)(3)如果如果DoModalDoModal()()返回的是返回的是IDOKIDOK,那么调用下表中的成,那么调用下表中的成员函数获取文件信息。员函数获取文件信息。参考参考代码:代码:CFileDialog CFileDialog dlg(FALSE,_T(t

29、xt),_T(dlg(FALSE,_T(txt),_T(*.txt),OFN_EXPLORER,_T(.txt),OFN_EXPLORER,_T(文文本文件本文件(*.txt)|.txt)|*.txt|.txt|所有文件所有文件(*.*)|)|*.*|);|);CString s;CString s;if(dlg.DoModal()=IDOK)if(dlg.DoModal()=IDOK)s=dlg.GetPathName();s=dlg.GetPathName();MessageBox(s+_T(MessageBox(s+_T(被保存被保存),_T(),_T(保存文件保存文件););【例例4_

30、4_34_4_3】打开和保存对话框的使用。打开和保存对话框的使用。本部分小结:本部分小结:(1 1)了解对话框的含义,属性。)了解对话框的含义,属性。(2 2)了解如何在资源视图中添加新的对话框,设置对话框属)了解如何在资源视图中添加新的对话框,设置对话框属性,并为对话框添加类。性,并为对话框添加类。(3 3)熟悉模态对话框和非模态对话框的创建过程。)熟悉模态对话框和非模态对话框的创建过程。(4 4)掌握通用对话框。)掌握通用对话框。1 1增加或删除控件增加或删除控件增加控件增加控件:从控件工具栏从控件工具栏中选中要增加中选中要增加的控件,再将的控件,再将此控件拖动至此控件拖动至对话框模板中对

31、话框模板中的确定位置上的确定位置上删除控件删除控件:先单击对话框先单击对话框中的控件,再中的控件,再按按DeleteDelete键键 控件的选择控件的选择按钮按钮组合框组合框复选框复选框编辑框编辑框分组框分组框列表框列表框单选按钮单选按钮静态文本静态文本图片图片水平滚动条水平滚动条垂直滚动条垂直滚动条滚动条滚动条旋转按钮旋转按钮进度条进度条热键热键列表视图列表视图树形视图树形视图标签标签动画动画组合编辑组合编辑日期选择日期选择日历日历IPIP地址地址组合框的扩展组合框的扩展用户定制工具用户定制工具控件属性与组织:控件属性与组织:右键点击控件右键点击控件-property-property通常需

32、要修改的是:通常需要修改的是:Caption(Caption(标题标题)和和ID(IDID(ID标号标号)当选中若干个控件后可以调整控件的相对位置。若没有以当选中若干个控件后可以调整控件的相对位置。若没有以下视图则选择添加自定义工具栏下视图则选择添加自定义工具栏-”-”布局布局”。4.5 Windows常用控件常用控件调整调整Tab Tab 顺序顺序Tab OrderTab Order规定了使用规定了使用TabTab键访问控件的顺序,键访问控件的顺序,默认的默认的Tab OrderTab Order是控件生成的顺序,选择菜单项是控件生成的顺序,选择菜单项Format|TabFormat|Tab

33、 Order Order可以显示并修改可以显示并修改Tab OrderTab Order。改变改变Tab OrderTab Order的方法是:选择的方法是:选择Tab OrderTab Order菜单菜单项、出现了顺序号之后,按所需的访问顺序依次单击项、出现了顺序号之后,按所需的访问顺序依次单击每一个控件,然后,单击空白处。每一个控件,然后,单击空白处。控件的成员变量:控件的成员变量:右键点击控件右键点击控件-Add variable-Add variable控件的成员变量:控件的成员变量:创建的成员变量分为值类型和控件类型。创建的成员变量分为值类型和控件类型。类型描述Value值类型成员变

34、量,用于控件值控制,由所连接的控件类型决定。例如可以有Cstring,int,Float,bool等。Control控件类型的成员变量,实质是控件类的一个对象。可以通过建立一个Control的成员变量调用该类的相关成员函数。编辑框的通知消息编辑框的通知消息 成员成员变量变量 UpdateData(TRUEUpdateData(TRUE)UpdateData(FALSEUpdateData(FALSE)读取变量读取变量 显示变量显示变量访问控件一般有三种方法:访问控件一般有三种方法:1 1利用对话框的数据交换功能访问控件利用对话框的数据交换功能访问控件2 2通过控件对象来访问控件通过控件对象来访

35、问控件3 3利用利用CWndCWnd类的一些用于管理控件的成员函数来访问控件类的一些用于管理控件的成员函数来访问控件4.5.1 控件编程方法控件编程方法常用的用于控件的函数:常用的用于控件的函数:1.1.GetDlgItemGetDlgItem()()函数:该函数根据参数说明的控件函数:该函数根据参数说明的控件IDID,返回指,返回指定控件的一个定控件的一个CWndCWnd型指针。程序可以把该指针强制转换成相型指针。程序可以把该指针强制转换成相应的控件类指针,然后通过该指针来访问控件。应的控件类指针,然后通过该指针来访问控件。2.2.SetFocusSetFocus()()函数:设置当前输入焦

36、点。函数:设置当前输入焦点。3.3.GetFocusGetFocus()()函数函数:获取当前拥有输入焦点的获取当前拥有输入焦点的CWndCWnd对象。对象。静态控件静态控件(Static Control)(Static Control)是用来显示一个文本串或图是用来显示一个文本串或图形信息的控件,包括静态文本控件形信息的控件,包括静态文本控件(Static Text)(Static Text)、图片控件、图片控件(Picture Control)(Picture Control)和组框和组框(Group Box)(Group Box)。所有静态控件默认的所有静态控件默认的IDID标识都为标识

37、都为IDC_STATICIDC_STATIC,如果需要在,如果需要在程序中区分和操纵各个不同的静态控件,必须重新为它指定一程序中区分和操纵各个不同的静态控件,必须重新为它指定一个惟一的个惟一的IDID标识。标识。4.5.3 常用控件常用控件CStatic类控件类控件1.Static Text1.Static Text 静态文本控件不要求与对话框进行交互,需要显示的文本串静态文本控件不要求与对话框进行交互,需要显示的文本串只要在该控件属性对话框的只要在该控件属性对话框的CaptionCaption属性中直接输入。属性中直接输入。修改Caption值其它属性:其它属性:Align text Ali

38、gn text 决定文本的横向对戏方式:决定文本的横向对戏方式:Left Center Left Center RightRight。默认。默认Left.Left.No prefix No prefix 不将控件文本中的不将控件文本中的“&”&”符解释为助记字符。在符解释为助记字符。在默认情况下,默认情况下,”&”&”符号在现实时会被去掉,取而代之的是紧符号在现实时会被去掉,取而代之的是紧接接“&”&”符号之后的字符被加以下划线的格式进行显示。符号之后的字符被加以下划线的格式进行显示。No wrapNo wrap以左对齐的方式来显示文本,并且不进行文本的自以左对齐的方式来显示文本,并且不进行文

39、本的自动换行。超出控件右边界的文本将被裁去。默认值为假。动换行。超出控件右边界的文本将被裁去。默认值为假。SimpleSimple禁止置禁止置Align textAlign text属性和属性和No wrapNo wrap样式。在该属性为样式。在该属性为真的情况下,静态文本控件中的文本不会被自动换行,也不会真的情况下,静态文本控件中的文本不会被自动换行,也不会被裁去。默认值为假。被裁去。默认值为假。NotifyNotify决定控件在被单击时是否通知父窗口。默认值为假。决定控件在被单击时是否通知父窗口。默认值为假。SunkenSunken使静态文本控件看上去有下凹的感觉。默认值为假。使静态文本控

40、件看上去有下凹的感觉。默认值为假。BorderBorder给文本控件创建边框。默认值为假。给文本控件创建边框。默认值为假。2.Picture Control2.Picture Control(补充)(补充)用来显示边框、矩形、或位图等图形。编辑时,首先必用来显示边框、矩形、或位图等图形。编辑时,首先必须创建位图或图标资源,即要插入一个须创建位图或图标资源,即要插入一个BitmapBitmap(位图)或(位图)或IconIcon(图标)。(图标)。主要用处:显式图片或者设置窗口背景图片。操作步骤如下主要用处:显式图片或者设置窗口背景图片。操作步骤如下:1.1.添加添加Picture Contro

41、lPicture Control控件,修改控件,修改TypeType属性为属性为BitmapBitmap或者或者Icon.Icon.2.2.利用利用ResouceResouce View View创建新图片或者引入已有图片。创建新图片或者引入已有图片。3.3.在在ImageImage属性中选择图片。属性中选择图片。修改Type属性选择Image【例例4Picture4Picture】图片控件的使用。图片控件的使用。注意:注意:TabTab顺序决定重叠显示的效果。建议把所有功能都完善顺序决定重叠显示的效果。建议把所有功能都完善以后,最后添加背景图片,并修改以后,最后添加背景图片,并修改TabTa

42、b顺序顺序 3.Group Box3.Group Box(补充)(补充)将同组信息围成一组。将同组信息围成一组。MFCMFC的的CEditCEdit类封装了编辑框类封装了编辑框(Edit Box)(Edit Box),编辑框又称文,编辑框又称文本框或编辑控件,也是一种常用的控件。编辑框一般与静态文本框或编辑控件,也是一种常用的控件。编辑框一般与静态文本控件一起使用,用于数据的输入和输出。本控件一起使用,用于数据的输入和输出。4.5.2 常用控件常用控件CEdit类控件类控件编辑框属性:编辑框属性:自动水平滚动自动水平滚动左对齐左对齐仅允许输入数字仅允许输入数字密码密码只读只读多行显示多行显示若

43、选择若选择“多行显多行显示示”属性为属性为TrueTrue,则必须将则必须将Auto Auto HScrollHScroll属性由属性由TrueTrue改为改为False!False!编辑框的基本操作编辑框的基本操作 利用利用MFCMFC的的CEditCEdit类提供的成员函数可以实现编辑框的各类提供的成员函数可以实现编辑框的各种操作。编辑控件的默认模式是在一行内显示所有编辑文本。种操作。编辑控件的默认模式是在一行内显示所有编辑文本。下表介绍了通用下表介绍了通用CEditCEdit类的方法。类的方法。编辑框的通知消息编辑框的通知消息 【例例4_Static+Edit4_Static+Edit】

44、静态文本和编辑控件的使用。静态文本和编辑控件的使用。CButtonCButton类控件包括按键按钮、单选按钮、复选框等类型类控件包括按键按钮、单选按钮、复选框等类型在被按下时会立在被按下时会立即执行某个命令,即执行某个命令,也被称为命令按也被称为命令按钮钮 用于在一组互相用于在一组互相排斥的选项中选排斥的选项中选择其中一项择其中一项用于在一组选项用于在一组选项中选择其中一项中选择其中一项或多项或多项使一组控件关联使一组控件关联起来,经常与一起来,经常与一组单选按钮或复组单选按钮或复选框一起使用选框一起使用4.5.2 常用控件常用控件CButton类控件类控件 是最常使用的控件之一,主要用于确定

45、某项操作。可以通是最常使用的控件之一,主要用于确定某项操作。可以通过过StyleStyle标签页设置一些与控件风格有关的属性,不同的控件标签页设置一些与控件风格有关的属性,不同的控件所设置的属性不相同。所设置的属性不相同。通过双击按键或者通过通过双击按键或者通过“Control Event”Control Event”添加响应函数。添加响应函数。1.1.按键按钮按键按钮添加响应函数 由一个圆圈和紧随其后的文本标题组成,当它被选中时,由一个圆圈和紧随其后的文本标题组成,当它被选中时,圆圈中就标上一个黑点。圆圈中就标上一个黑点。通常将一组单选按钮放在一个组框控件中,在一组单选通常将一组单选按钮放在

46、一个组框控件中,在一组单选按钮中,第一个按钮中,第一个(Tab(Tab键顺序键顺序)按钮最重要,其按钮最重要,其IDID值可用于在对值可用于在对话框中为控件建立关联的成员变量。必须为同组中的第一个话框中为控件建立关联的成员变量。必须为同组中的第一个单选按钮设置单选按钮设置GroupGroup属性,而同组的其他单选按钮不可再设置属性,而同组的其他单选按钮不可再设置GroupGroup属性。属性。2 2单选按钮单选按钮(补充补充)属于同一组的单选按钮拥有同样的属于同一组的单选按钮拥有同样的IDID值。可以为每组值。可以为每组单选按钮设置值类型的成员变量,该成员变量为单选按钮设置值类型的成员变量,该

47、成员变量为intint型,表示型,表示所选按钮在组中的序号,序号从所选按钮在组中的序号,序号从0 0开始。开始。例如:若选择第例如:若选择第1 1项则返回项则返回0 0,选择第,选择第3 3项则返回项则返回2 2,直,直至返回至返回n-1n-1。另外还可通过另外还可通过IsDlgButtonCheckedIsDlgButtonChecked()()函数来判断选项函数来判断选项是否被选中,该函数参数为选项的是否被选中,该函数参数为选项的IDID值。该函数返回值。该函数返回BOOLBOOL型型值,为值,为TRUETRUE表示被选中,为表示被选中,为FALSEFALSE表示为被选中。表示为被选中。由

48、一个空心方框和紧随其后的文本组成,当它被选中时,由一个空心方框和紧随其后的文本组成,当它被选中时,空心方框中就加上一个空心方框中就加上一个“”“”或或“”标记。不同于单选按钮,标记。不同于单选按钮,在一组复选框中每次可以同时选择多项。在一组复选框中每次可以同时选择多项。复选框的值类型成员变量类型为复选框的值类型成员变量类型为BOOLBOOL型,若返回型,若返回TRUETRUE表示表示被选中,若为被选中,若为FALSEFALSE表示未被选中。表示未被选中。同样可通过同样可通过IsDlgButtonCheckedIsDlgButtonChecked()()函数来判断选项是否被函数来判断选项是否被选

49、中。选中。3 3复选按钮(补充)复选按钮(补充)按钮控件的基本操作按钮控件的基本操作【例例4_Button】按钮类的使用。按钮类的使用。Windows提供如下几种列表类型控件提供如下几种列表类型控件:列表框(列表框(CListBox类)、组合框(类)、组合框(CComboBox类)、列表视类)、列表视图控件和树视图控件。图控件和树视图控件。其中列表框是一种最简单的列表类型控件。常用来显示类型其中列表框是一种最简单的列表类型控件。常用来显示类型相同的一系列清单,如文件、字体和用户等。相同的一系列清单,如文件、字体和用户等。4.5.2 常用控件常用控件列表类型控件列表类型控件列表框的风格列表框的风

50、格按性质来划分,列表框风格有单选、多选、扩展多选以及非选按性质来划分,列表框风格有单选、多选、扩展多选以及非选等四种类型。等四种类型。允许排序允许排序选择类型选择类型允许多列显示允许多列显示一般情况下列表控件一般情况下列表控件的属性不需进行修改,的属性不需进行修改,采用默认形式即可。采用默认形式即可。设置列表框中选项的选中方式。设置列表框中选项的选中方式。有有4个选项个选项:Single,表示在给定的选项中,至多有一个被选中;,表示在给定的选项中,至多有一个被选中;Multiple,表示可以有多个选项被选中,但忽略,表示可以有多个选项被选中,但忽略Shift键和键和Ctrl键;键;Extend

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第4章vc++程序设计课件内容-.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|