对话框和Windows标准控件课件.ppt

上传人(卖家):晟晟文业 文档编号:5127179 上传时间:2023-02-13 格式:PPT 页数:76 大小:820.50KB
下载 相关 举报
对话框和Windows标准控件课件.ppt_第1页
第1页 / 共76页
对话框和Windows标准控件课件.ppt_第2页
第2页 / 共76页
对话框和Windows标准控件课件.ppt_第3页
第3页 / 共76页
对话框和Windows标准控件课件.ppt_第4页
第4页 / 共76页
对话框和Windows标准控件课件.ppt_第5页
第5页 / 共76页
点击查看更多>>
资源描述

1、 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 对话框和Windows标准控件 n对话框的组成与分类对话框的组成与分类n创建对话框创建对话框n模式对话框的编程模式对话框的编程n通用对话框通用对话框nWindows 标准控件标准控件n资源与资源编辑器资源与资源编辑器 n菜单的使用菜单的使用 n工具栏的使用工具栏的使用 n状态栏的使用状态栏的使用 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 对话框的组成 对话框:对话框:是是Windows应用程序与用户打交应用程序与用户打交道的界面元素道的界面元素。1、对话框模板、对话框模板对话框模板定义了对话框的特性对话框模板定义了

2、对话框的特性(比如大小、比如大小、位置和风格位置和风格)以及对话框中每个控件的类型和以及对话框中每个控件的类型和位置。位置。2、对话框类、对话框类从从CDialog类派生的对话框类提供编程接口类派生的对话框类提供编程接口来管理对话框来管理对话框。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 对话框的分类1、模式模式(Modal)对话框对话框 在对话框关闭之前,用户无法在同一应用程在对话框关闭之前,用户无法在同一应用程序的其他地方进行工作序的其他地方进行工作,例如打开文件对话框。例如打开文件对话框。2、无模式无模式(Modaless)对话框对话框 在它仍然保留在屏幕的同时,用户还可

3、以在在它仍然保留在屏幕的同时,用户还可以在同一应用程序的其他窗口中进行工作,例如查同一应用程序的其他窗口中进行工作,例如查找对话框。找对话框。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 创建对话框-创建对话框模板 可以使用对话框编辑器来创建包含不同控件的对话可以使用对话框编辑器来创建包含不同控件的对话框模板框模板,在对话框编辑器中,可以调整对话框显示时在对话框编辑器中,可以调整对话框显示时的大小和位置,从的大小和位置,从Controls工具栏拖放各种类型的控工具栏拖放各种类型的控件到对话框中件到对话框中,用,用Dialog工具栏调整控件的位置,测工具栏调整控件的位置,测试对话框

4、的外观和行为试对话框的外观和行为。可以使用菜单方式:可以使用菜单方式:InsertResource打开打开Insert Resource对话框,选中对话框,选中Dialog后单击后单击New按钮即可按钮即可打开对话框编辑器。或者使用项目的打开对话框编辑器。或者使用项目的ResourceView,找到找到Dialog资源,右击后选择资源,右击后选择Insert Dialog也可打也可打开对话框编辑器。开对话框编辑器。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 创建对话框-对话框编辑器 (a)对话框模板 (b)Controls工具栏 (c)Dialog工具栏 北北 京京 林林 业业

5、 大大 学学 信信 息息 学学 院院 创建对话框-创建对话框类 在创建了对话框模板后,就可以利用在创建了对话框模板后,就可以利用ClassWisard来来创建从创建从CDialog派生且连接到对话框模板的对话框类。派生且连接到对话框模板的对话框类。(1)创建了一个连接到对话框模板创建了一个连接到对话框模板CDialog类的派生类。类的派生类。(2)利用利用ClassWizard向对话框类加入数据成员来表示对话框中向对话框类加入数据成员来表示对话框中的控件。的控件。(3)指定控件和成员变量之间如何交换数据。指定控件和成员变量之间如何交换数据。(4)映射映射Windows消息到对话框类,如鼠标左键

6、单击消息。消息到对话框类,如鼠标左键单击消息。(5)利用利用ClassWizard为对话框中的按钮和其他可以产生事件的为对话框中的按钮和其他可以产生事件的控件加入相应的消息控件函数。控件加入相应的消息控件函数。(6)为各种事件处理函数编辑代码,来够完成指定的工作。为各种事件处理函数编辑代码,来够完成指定的工作。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 创建对话框-创建对话框类对话框上的许多控件还需要进行初始化工作,对话框上的许多控件还需要进行初始化工作,从而使得对话框被显示时这些控件具有相应类从而使得对话框被显示时这些控件具有相应类型的初值。型的初值。对话框的初始化工作可以使

7、用以下对话框的初始化工作可以使用以下3种方法来进行。种方法来进行。(1)在构造函数中初始化在构造函数中初始化(2)WM_CREATE初始化初始化(3)WM_INITDIALOG初始化初始化 对于对话框的初始化工作通常都在响应该消对于对话框的初始化工作通常都在响应该消息时进行息时进行 。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 模式对话框编程对于模式对话框的编程可以按以下步骤进行。对于模式对话框的编程可以按以下步骤进行。(1)根据要求创建对话框模板。根据要求创建对话框模板。(2)使用使用ClassWizard创建对话框类并进行各类创建对话框类并进行各类事件函数的代码编写。事件函

8、数的代码编写。(3)对视图类进行编辑,以便对话框能够被激活。对视图类进行编辑,以便对话框能够被激活。在所编写的代码中,首先创建对话框类的对象,在所编写的代码中,首先创建对话框类的对象,然 后 通 过 该 对 象 调 用 对 话 框 类 成 员 函 数然 后 通 过 该 对 象 调 用 对 话 框 类 成 员 函 数DoModal()。只有当用户退出对话框窗口时,只有当用户退出对话框窗口时,DoModal函数才能返回。函数才能返回。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 模式对话框编程【例】【例】简单模式对话框的编程。简单模式对话框的编程。本程序的功能是在客户区显示一个可本程

9、序的功能是在客户区显示一个可由用户指定填充颜色的矩形。当菜单项由用户指定填充颜色的矩形。当菜单项【颜色设置颜色设置】被选中时将调出【】被选中时将调出【颜色颜色】对话框,在其中用户可以确定对话框,在其中用户可以确定RGB三颜三颜色的值,单击【色的值,单击【确定确定】按钮后即可改变】按钮后即可改变矩形的填充色。矩形的填充色。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 实现步骤程序的步骤如下。程序的步骤如下。(1)(1)使用对话框编辑器创建对话框模板,最终完成的对话使用对话框编辑器创建对话框模板,最终完成的对话框界面如图所示。框界面如图所示。控件控件IDCaption静态控件静态控件

10、IDC_STATIC1 R(0-255)静态控件静态控件IDC_STATIC2 G(0-255)静态控件静态控件IDC_STATIC3 B(0-255)编辑框编辑框 IDC_R编辑框编辑框 IDC_G编辑框编辑框 IDC_B 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 实现步骤(2)使用使用ClassWizard创建对话框类创建对话框类CMyColorDialog 在在ClassWisard中选取属性表中选取属性表Member Variables,为控为控件件IDC_R、IDC_G和和IDC_B分别映射分别映射int类型成员变量类型成员变量m_nR、m_nG和和m_nB。在在C

11、lassWisard中选取属性表中选取属性表Message Maps,为为CMyColorDialog的消息的消息WM_INITDIALOG映射函数映射函数OnInitDialog(),并单击并单击Edit Code按钮为按钮为OnInitDialog函数编写初始化代码。函数编写初始化代码。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 实现步骤BOOL CMyColorDialog:OnInitDialog()CDialog:OnInitDialog();m_nR=0;m_nG=0;m_nR=0;UpdateData(FALSE);/将设定的变量值传送给对应的控件将设定的变量值传

12、送给对应的控件 return TRUE;北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 实现步骤(3)对视图类进行编辑,以能激活对话框,并进对视图类进行编辑,以能激活对话框,并进行绘图。行绘图。n首先要使用首先要使用ResourceView中的菜单编辑器来创建菜中的菜单编辑器来创建菜单项单项“颜色设置颜色设置”。n在创建了菜单项后,可通过在创建了菜单项后,可通过ClassWizard为该菜单项为该菜单项映射菜单消息。映射菜单消息。n在视图中需要生成一个该类的对象。记得包含头文件在视图中需要生成一个该类的对象。记得包含头文件 n在为菜单项颜色设置映射的消息中,写如下代码在为菜单项颜色

13、设置映射的消息中,写如下代码dlg.DoModal();Invalidate();北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 实现步骤n编辑视图类中的编辑视图类中的OnDraw,进行绘图进行绘图void CMyView:OnDraw(CDC*pDC)CMyDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);CRect rect;GetClientRect(rect);Cbrush brush;brush.CreateSolidBrush(RGB(dlg.m_nR,dlg.m_nG,dlg.m_nB);pDC-SelectObject(&brush

14、);pDC-Rectangle(100,100,200,300);北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 Windows通用对话框 Windows提供了一组标准用户界面提供了一组标准用户界面对话框,它们都由对话框,它们都由MFC库中相应的类来库中相应的类来支持。可以使用通用对话框来执行各种支持。可以使用通用对话框来执行各种标准操作,如选择文件、指定字体和选标准操作,如选择文件、指定字体和选择颜色等。择颜色等。MFC提供了提供了6类标准的对话类标准的对话框框,这些对话框有一个共同的特点:它们这些对话框有一个共同的特点:它们都从用户处获取信息,但它们并不对信都从用户处获取信息,

15、但它们并不对信息作处理。息作处理。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 Windows通用对话框通用对话框说 明CFileDialog封装了标准的“打开”和“另存为”对话框CColorDialog封装了标准的“颜色”对话框CFontDialog封装了标准的“字体”对话框CFindReplaceDialog封装了标准的“查找”和“替换”对话框CPrintDialog封装了标准的“打印”和“打印设置”对话框CPageSetupDialog封装了标准的“页面设置”对话框 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CFileDialog类 北北 京京 林林 业业

16、 大大 学学 信信 息息 学学 院院 (1)(1)构造构造CFileDialogCFileDialog类的对象。类的对象。CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt=NULL,LPCTSTR lpszFileName=NULL,DWORD dwFlags=OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter=NULL,CWnd*pParentWnd=NULL)CFileDialog类 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CFileDialog类n参数参数

17、bOpenFileDialog是一个标记位,其值如果为是一个标记位,其值如果为TRUE,那么将构造【打开】对话框;如果值为那么将构造【打开】对话框;如果值为FALSE,那么将构造那么将构造“另存为另存为”对话框。对话框。n参数参数lpszDefExt为默认的文件扩展名。如果用户没有为默认的文件扩展名。如果用户没有在文件名编辑框中输入扩展名,则由在文件名编辑框中输入扩展名,则由lpszDefExt所指所指定的扩展名将自动附加在文件名后。定的扩展名将自动附加在文件名后。n参数参数lpszFileName是出现在文件名编辑框中的初始文是出现在文件名编辑框中的初始文件名。如果该参数值为件名。如果该参数

18、值为NULL,则不显示初始文件名。则不显示初始文件名。n参 数参 数 d w F l a g s 由 一 个 或 多 个 标 志 组 成。其 中由 一 个 或 多 个 标 志 组 成。其 中O F N _ H I D E R E A D O N L Y 将 隐 藏 只 读 文 件,将 隐 藏 只 读 文 件,OFN_ALLOWMULTISELECT将允许在选择时与将允许在选择时与ShiftShift键或键或CtrlCtrl键配合以选择多个文件。键配合以选择多个文件。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CFileDialog类n参数参数lpszFilter指定文件过滤器,

19、用于确定显示在文件指定文件过滤器,用于确定显示在文件列表中的文件类型。每个过滤器都是一个字符串对,列表中的文件类型。每个过滤器都是一个字符串对,第一个字符串描述过滤器,第二个字符串是用户过滤第一个字符串描述过滤器,第二个字符串是用户过滤文件的扩展名,多个扩展名要用分号文件的扩展名,多个扩展名要用分号(;)作为分界符,作为分界符,两个字符串之间用管道符号两个字符串之间用管道符号(|)分隔。整个字符串以两分隔。整个字符串以两个管道符个管道符(|)和一个和一个NULL字符结束,可以用字符结束,可以用CString对象值作为该参数的值。例如,以下字符串就是一个对象值作为该参数的值。例如,以下字符串就是

20、一个描述只在文件列表框中显示文本文件描述只在文件列表框中显示文本文件(*.txt)和和Microsoft文件文件(*.doc)的过滤器。的过滤器。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CFileDialog类CFileDialog dlg(TRUE,bmp,*.bmp,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,文本文件文本文件(*.txt)|*.txt|Word文件文件(*.doc)|*.doc);北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CFileDialog类(2)调用成员函数调用成员函数DoModal()可以将对话

21、可以将对话框显示在屏幕上,并让用户从中选择文框显示在屏幕上,并让用户从中选择文件。件。(3)如果如果DoModal()返回的是返回的是IDOK,那那么调用成员函数可以获取文件信息。么调用成员函数可以获取文件信息。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CFileDialog类类的成员函数功能说明GetPathName获取当前所选文件的全路径GetFileName获取当前所选文件的文件名GetFileExt获取当前所选文件的文件扩展名GetFileTitle获取当前所选文件的标题GetNextPathName获取所选择的下一个文件的全路径GetStartPosition得到文

22、件列表的第一个元素的位置 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CColorDialog类nCColorDialog类提供了可以选择颜色的对话框,使得类提供了可以选择颜色的对话框,使得用户可以从颜色列表中选择要用的颜色。用户可以从颜色列表中选择要用的颜色。n对该类的使用可按下列步骤进行。对该类的使用可按下列步骤进行。(1)在视图类相应位置构造在视图类相应位置构造CColorDialog对象。对象。(2)设置或修改成员变量设置或修改成员变量m_cc来初始化对话框。来初始化对话框。m_cc的结构的结构类型为类型为CHOOSECOLOR。(3)调用成员函数调用成员函数DoMod

23、al来显示对话框并让用户从中选择颜来显示对话框并让用户从中选择颜色。色。(4)如果如果DoModal返回的是返回的是IDOK,那么用户所做的颜色选择将那么用户所做的颜色选择将保存在保存在m_cc中。通过使用该类的成员函数中。通过使用该类的成员函数GetColor即可得即可得到选择颜色的到选择颜色的RGB值。值。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CColorDialog类 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CFontDialog类CFontDialog类封装了标准的【字体】对话类封装了标准的【字体】对话框,使得用户可以从系统安装的字体列表框,使

24、得用户可以从系统安装的字体列表中选择要用的字体。中选择要用的字体。C F o n t D i a l o g 类 的 使 用 步 骤 与类 的 使 用 步 骤 与CColorDialog的使用过程是一样的,在的使用过程是一样的,在用户选择了字体后,成员函数获取所选择用户选择了字体后,成员函数获取所选择的字体信息。的字体信息。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 CFontDialog类类的成员函数功能说明GetCurrentFont获取当前所选字体GetFaceName获取当前所选字体的字样名GetStyleName获取当前所选字体的风格名GetSize获取当前所选字体的

25、大小GetColor获取当前所选字体的颜色GetWeight获取当前所选字体的磅数IsStrikeOut确定字体是否带有删除线IsUnderline确定字体是否带有下划线IsBold确定字体是否为粗体IsItalic确定字体是否为斜体 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 其它通用对话框 CFindReplaceDialog类封装了通用的【查类封装了通用的【查找】和【替换】对话框。对话框仅仅提供了标找】和【替换】对话框。对话框仅仅提供了标准接口,它允许输入待查找和替换的字符串,准接口,它允许输入待查找和替换的字符串,而真正的查找和替换功能则需要程序员自己实而真正的查找和替

26、换功能则需要程序员自己实现。与其他通用对话框不同的是,【查找】和现。与其他通用对话框不同的是,【查找】和【替换】对话框是非模式的。因此,对该类的【替换】对话框是非模式的。因此,对该类的使用要按照非模式对话框进行。使用要按照非模式对话框进行。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 其它通用对话框nCPrintDialog类封装了标准的【打印】和类封装了标准的【打印】和【打印预览】对话框。该对话框是模式对话框,【打印预览】对话框。该对话框是模式对话框,它的使用过程与它的使用过程与CColorDialog一样,只是在一样,只是在成员函数上有所不同。成员函数上有所不同。nCPage

27、SetupDialog类封装了标准的【页面设类封装了标准的【页面设置】对话框,使得用户可以设置和修改打印边置】对话框,使得用户可以设置和修改打印边距等。其使用过程与距等。其使用过程与CColorDialog类似,在类似,在使用时可利用使用时可利用Visual C+的提示功能来学习的提示功能来学习和掌握其成员函数。和掌握其成员函数。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 Windows标准控件控件控件(Control)是一种子窗口,应用程序用它是一种子窗口,应用程序用它来与其他窗口进行简单的输入输出操作。来与其他窗口进行简单的输入输出操作。作为一般窗口,控件具有许多通用的窗口

28、属性,作为一般窗口,控件具有许多通用的窗口属性,并且可以使用并且可以使用ShowWindow、MoveWindow等窗口管理函数来显示或隐藏等窗口管理函数来显示或隐藏控件、改变控件的位置以及其他操作。本节主控件、改变控件的位置以及其他操作。本节主要介绍标准的要介绍标准的Windows控件的编程方法及一控件的编程方法及一些常用的公共控件的使用方法。些常用的公共控件的使用方法。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 标准Windows控件(1 1)静态控件)静态控件(2 2)按钮控件)按钮控件(3 3)编辑框控件)编辑框控件(4 4)列表框控件)列表框控件(5 5)组合框控件)

29、组合框控件(6 6)滚动条控件)滚动条控件 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 静态文本控件(CStatic)静态文本控件是静态控件的一种,只是简静态文本控件是静态控件的一种,只是简单地在屏幕上显示一字符串,在运行过程中它单地在屏幕上显示一字符串,在运行过程中它不和用户发生任何关系。当把矩形范围定好位不和用户发生任何关系。当把矩形范围定好位之后,就可以直接输入文本。该控件的一个常之后,就可以直接输入文本。该控件的一个常用属性是用属性是Caption属性,用来在控件中显示文属性,用来在控件中显示文本。该控件一般不响应消息。静态文本控件一本。该控件一般不响应消息。静态文本控

30、件一般是配合无般是配合无Caption属性的控件使用的。属性的控件使用的。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 编辑框控件(CEdit)编辑框控件是一个让用户从键盘输入和编辑编辑框控件是一个让用户从键盘输入和编辑文字的矩形窗口,用户可以通过它,很方便地文字的矩形窗口,用户可以通过它,很方便地输入各种文字、数字或者口令,也可使用它来输入各种文字、数字或者口令,也可使用它来编辑或修改简单的文本文件。编辑框控件的风编辑或修改简单的文本文件。编辑框控件的风格可在其属性对话框中设置。例如,如果要具格可在其属性对话框中设置。例如,如果要具有输入口令功能,则可选择有输入口令功能,则可选

31、择PasswordPassword选项。如选项。如果要锁定编辑框,即在运行时不能进行编辑,果要锁定编辑框,即在运行时不能进行编辑,则可设置则可设置Read-onlyRead-only选项。选项。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 编辑框控件(CEdit)n编辑框控件可接收很多消息,编辑框控件可接收很多消息,常用的是常用的是EN_CHANGEEN_CHANGE消息与消息与EN_SETFOCUSEN_SETFOCUS消息消息,其,其中前者是当用户修改了编辑框中的文本中前者是当用户修改了编辑框中的文本时发出的,后者则是在该控件接收到输时发出的,后者则是在该控件接收到输入焦点时

32、发送的。入焦点时发送的。n封装编辑框控件的类是封装编辑框控件的类是CEditCEdit类,它有很类,它有很多成员函数,可以方便程序员进行编辑多成员函数,可以方便程序员进行编辑工作工作 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 编辑框控件(CEdit)成员函数说 明GetSel获取编辑框中当前选择的起始字符和终止字符位置ReplaceSel用指定文本替换编辑框中的当前选择SetSel选择编辑框中的一个字符范围SetReadOnly设置编辑框控件的只读状态GetPasswordChar获取用户输入文本时在编辑框控件内显示的口令字符SetPasswordChar设置或删除当用户输入

33、文本时在编辑框控件中显示的口令字符Undo取消上一次编辑框控件操作Clear清除编辑框控件内的当前选择Copy将编辑框控件中的当前选择复制到剪贴板中Paste将数据从剪贴板复制到编辑框控件中的当前光标处GetLine从编辑框控件中获取一行文本 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 按钮控件(CButton)nWindows中所用的按钮是随处可见的,常见中所用的按钮是随处可见的,常见的按钮有的按钮有3种类型:种类型:按键按钮、单选按钮和复按键按钮、单选按钮和复选框。选框。n按键按钮通常可以立即产生某个动作,执行某按键按钮通常可以立即产生某个动作,执行某个命令,因此也常被称为

34、命令按钮。个命令,因此也常被称为命令按钮。n单选按钮的外观是一个圆圈,当它被选中时,单选按钮的外观是一个圆圈,当它被选中时,单选按钮中就标上一个黑点。单选按钮中就标上一个黑点。n复选框的外观是一个空心方框,当它被选中时,复选框的外观是一个空心方框,当它被选中时,复选框中就加上一个复选框中就加上一个“X”标记,通常复选框标记,通常复选框只有选中和没选中两种状态。只有选中和没选中两种状态。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 按钮控件(CButton)n对于按键按钮的使用主要是映射对于按键按钮的使用主要是映射BN_CLICKED单击事单击事件和件和BN_DOUBLECLICK

35、双击事件。双击事件。n对于单选按钮的使用往往是使用一组按钮,比如表示对于单选按钮的使用往往是使用一组按钮,比如表示性别的性别的“男男”、“女女”都可以使用单选按钮。为了表都可以使用单选按钮。为了表示这两个单选按钮是一组,必须将本组中第示这两个单选按钮是一组,必须将本组中第1个按钮的个按钮的Group属性选中,并为设定属性选中,并为设定Group属性的按钮在属性的按钮在ClassWizard中映射成员变量。运行时如果该变量值中映射成员变量。运行时如果该变量值为为0,则选中第,则选中第1个按钮,若为个按钮,若为1则选中的是第则选中的是第2个按钮,个按钮,依次类推。依次类推。n在使用复选框时,要为每

36、一个复选框映射一个变量,在使用复选框时,要为每一个复选框映射一个变量,变量的类型为变量的类型为BOOL类型,在运行时,如果某个复选框类型,在运行时,如果某个复选框被选中,则对应变量的值为被选中,则对应变量的值为TRUE,反之为反之为FALSE。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 列表框控件(CListBox)列表框控件是一个放有用户可以选择对象项列表框控件是一个放有用户可以选择对象项的列表的控件窗口,可以让用户在其中选择一的列表的控件窗口,可以让用户在其中选择一个或多个项。个或多个项。列表框控件默认情况下只能进行单选操作,列表框控件默认情况下只能进行单选操作,若要使列表

37、框能进行多项选择,则需要修改其若要使列表框能进行多项选择,则需要修改其属性中属性中Style下的下的Selection属性。该属性值若属性。该属性值若为为Simple,就只能进行单选;若为就只能进行单选;若为Multiple,则可直接使用则可直接使用Multiple进行多选;若为进行多选;若为Extended,则可配合则可配合Shift和和Ctrl键进行多选。键进行多选。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 列表框控件(CListBox)成员函数功 能AddString在列表框中增加一个串DeleteString在列表框中删除一个串InsertString在列表框中指定位

38、置插入一个串ResetContent清除列表框中所有列表项FindString在列表框中查找一个串SetCurSel选择一列表项GetSel获取一列表项的选择状态GetCount获取列表框中列表项的数目GetCurSel获取列表框中当前所选串的索引(从0开始)GetText获取某个位置处的字符串值 北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 列表框控件(CListBox)列表框的使用一般可按下述步骤进行操作。列表框的使用一般可按下述步骤进行操作。(1)在对话框上放置列表框控件,设置其属性。在对话框上放置列表框控件,设置其属性。(2)用用ClassWizard为该控件映射为该控件

39、映射CListBox类型的成员类型的成员变量。变量。(3)在对话框的在对话框的OnInitDialog()函数中,使用函数中,使用ClistBox的成员函数的成员函数AddString()为控件进行初始化。为控件进行初始化。(4)若要判断列表框中被选中的字符串,对单选情况可若要判断列表框中被选中的字符串,对单选情况可使用使用GetCurSel()函数获得所选项的索引,再利用函数获得所选项的索引,再利用GetText()函数获得该索引处的字符串值。若是多选函数获得该索引处的字符串值。若是多选可根据可根据GetCount()函数返回的列表项,从头使用函数返回的列表项,从头使用GetSel()判断是

40、否被选中,若选中,则再使用判断是否被选中,若选中,则再使用GetText()函数即可。函数即可。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 组合框的产生 列表框控件和编辑框控件作为用户输入的窗口,各列表框控件和编辑框控件作为用户输入的窗口,各有其优点。有其优点。(1)(1)列表框中可列出用户所需的选项,用户不必记住列表框中可列出用户所需的选项,用户不必记住每一项,也不用一字一字输入。但是当用户需要的项每一项,也不用一字一字输入。但是当用户需要的项目未在列表框中列出时,列表框就无能为力了。目未在列表框中列出时,列表框就无能为力了。(2)(2)编辑框控件可以根据用户需求进行灵活输入

41、,但编辑框控件可以根据用户需求进行灵活输入,但需要记忆内容,并且需要逐字输入。需要记忆内容,并且需要逐字输入。如果将这两个控件结合起来使用,正常情况下用户如果将这两个控件结合起来使用,正常情况下用户可方便地在列表框中进行选择,如果没有所需项,则可方便地在列表框中进行选择,如果没有所需项,则使用编辑框进行输入,从而出现了组合框这种控件使用编辑框进行输入,从而出现了组合框这种控件 组合框结合列表框和编辑框控件的特点,取二者之组合框结合列表框和编辑框控件的特点,取二者之长,互相弥补其短,从而完成复杂的输入功能。长,互相弥补其短,从而完成复杂的输入功能。北北 京京 林林 业业 大大 学学 信信 息息

42、学学 院院 组合框 Windows提供提供3种类型的组合框:简单组合框、种类型的组合框:简单组合框、下拉式组合框和下拉式列表框。下拉式组合框和下拉式列表框。1 1、简单组合框和下拉式组合框简单组合框和下拉式组合框都含有列表框和编都含有列表框和编辑框控件,但是简单组合框的列表框不是下拉式的,辑框控件,但是简单组合框的列表框不是下拉式的,跟正常的列表框一样。下拉式列表框则虽然有下拉式跟正常的列表框一样。下拉式列表框则虽然有下拉式的列表,但却没有文字编辑功能。的列表,但却没有文字编辑功能。2 2、下拉式列表框与普通列表框相比下拉式列表框与普通列表框相比,占用的屏幕,占用的屏幕要少的多,用户可以根据对

43、话框的布局适当选择组合要少的多,用户可以根据对话框的布局适当选择组合框的下拉式列表类型和列表框。如果对话框上要放置框的下拉式列表类型和列表框。如果对话框上要放置能进行选择的控件,但空间却不大,可选用下拉式列能进行选择的控件,但空间却不大,可选用下拉式列表框;若对话框上比较空,则可以使用列表框表框;若对话框上比较空,则可以使用列表框。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 滚动条控件 滚动条是窗口中常见的对象滚动条是窗口中常见的对象。当窗口客户。当窗口客户区中要显示比其自身大的对象时,滚动条便应区中要显示比其自身大的对象时,滚动条便应运而生。这种滚动条与窗口一同创建,位于窗运

44、而生。这种滚动条与窗口一同创建,位于窗口用户区旁的非用户区,用来扩展用户区的显口用户区旁的非用户区,用来扩展用户区的显示范围,它被称为标准滚动条。另外还有一种示范围,它被称为标准滚动条。另外还有一种作为控件的滚动条,这是一个独立的窗口,具作为控件的滚动条,这是一个独立的窗口,具有直接的输入焦点,使用这种滚动条的目的未有直接的输入焦点,使用这种滚动条的目的未必在于滚动显示窗口内容。必在于滚动显示窗口内容。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 滚动条控件 滚动条可分为滚动条可分为垂直滚动条和水平滚动条垂直滚动条和水平滚动条两种类型,两种类型,但其组成部分都是一样的,滚动条两端

45、都有两个箭但其组成部分都是一样的,滚动条两端都有两个箭头按钮,中间有一个可沿滚动条方向移动的滚动块。头按钮,中间有一个可沿滚动条方向移动的滚动块。类类CScrollBar封装滚动条控件的功能。创建滚动封装滚动条控件的功能。创建滚动条控件分为两步:条控件分为两步:首先创建首先创建CSrollBar对象,然后对象,然后调用成员函数调用成员函数Create创建滚动条控件创建滚动条控件。在编程时。在编程时对该控件的使用经常要用到所在对话框类的对该控件的使用经常要用到所在对话框类的WM_VSCROLL和和WM_HSCROLL消息,分别用消息,分别用来处理垂直滚动条和水平滚动条。来处理垂直滚动条和水平滚动

46、条。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 公共控件-进度条控件 进度条控件是在一较长应用操作中,给用户提供可视反进度条控件是在一较长应用操作中,给用户提供可视反馈的一个窗口。如在下载时用进度条控件向用户反映下载馈的一个窗口。如在下载时用进度条控件向用户反映下载的情况,或在复制文件的过程中向用户反馈复制文件的完的情况,或在复制文件的过程中向用户反馈复制文件的完成情况。成情况。CProgressCtrl类封装了进度条控件的功能。进度条控类封装了进度条控件的功能。进度条控件有一取值范围及当前位置,范围指明操作的长度,可使件有一取值范围及当前位置,范围指明操作的长度,可使用成员函

47、数用成员函数SetScrollRange()来设置控件的最小和最大值来设置控件的最小和最大值或使用或使用GetScrollRange()函数来获取控件的最小和最大值。函数来获取控件的最小和最大值。当前位置表明该操作此时已经进行多久,可使用成员函数当前位置表明该操作此时已经进行多久,可使用成员函数S e t S c r o l l P o s()函 数 来 设 置 当 前 位 置 或 使 用函 数 来 设 置 当 前 位 置 或 使 用GetScrollPos()函数来获取当前位置。在工作的进行过程函数来获取当前位置。在工作的进行过程中,进度条会逐步用色块按百分比填充矩形框,这可使用中,进度条会

48、逐步用色块按百分比填充矩形框,这可使用StepIt将控件前移一个位置,即填充一个色块。将控件前移一个位置,即填充一个色块。北北 京京 林林 业业 大大 学学 信信 息息 学学 院院 公共控件-微调器控件 旋转按钮控件旋转按钮控件(SpinButtonControl)即微调器控件即微调器控件又称为上下控件,其主要功能是利用一对标有相反方又称为上下控件,其主要功能是利用一对标有相反方向箭头的小按钮,通过单击它来在一定范围内改变当向箭头的小按钮,通过单击它来在一定范围内改变当前的数值,该值可以数字的形式显示在一个伙伴窗口前的数值,该值可以数字的形式显示在一个伙伴窗口中。中。伙伴窗口可以是一个编辑框。

49、微调器控件可在其伙伙伴窗口可以是一个编辑框。微调器控件可在其伙伴窗口的左侧,也可在其右侧,但必须保证其伙伴窗伴窗口的左侧,也可在其右侧,但必须保证其伙伴窗口的口的Tab Order值比微调器控件的值比微调器控件的Tab Order值小值小1。对微调器控件还要设置对微调器控件还要设置Style属性的属性的Auto Buddy项和项和Set Buddy Integer项。为了使微调器控件能够正确项。为了使微调器控件能够正确使用,还需要在对话框类的使用,还需要在对话框类的OnInitDialog()函数中增函数中增加设置微调器初始值的语句加设置微调器初始值的语句。北北 京京 林林 业业 大大 学学

50、信信 息息 学学 院院 WindowsWindows资源用于创建程序的框架界面,资源用于创建程序的框架界面,包括快捷键包括快捷键(Accelerator)Accelerator)、位图位图(Bitmap)Bitmap)、光标光标(Cursor)Cursor)、对话对话框框(Dialog)Dialog)、图标图标(Icon)Icon)、菜单菜单(Menu)Menu)、串表串表(String String Table)Table)、工具栏工具栏(Toolbar)Toolbar)和版本信息和版本信息(Version)Version)等,为等,为此,此,WindowsWindows资源提供了各种类型的

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

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

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


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

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


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