对话框创建和使用ppt课件

上传人:pu****.1 文档编号:586501280 上传时间:2024-09-04 格式:PPT 页数:20 大小:116.50KB
返回 下载 相关 举报
对话框创建和使用ppt课件_第1页
第1页 / 共20页
对话框创建和使用ppt课件_第2页
第2页 / 共20页
对话框创建和使用ppt课件_第3页
第3页 / 共20页
对话框创建和使用ppt课件_第4页
第4页 / 共20页
对话框创建和使用ppt课件_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《对话框创建和使用ppt课件》由会员分享,可在线阅读,更多相关《对话框创建和使用ppt课件(20页珍藏版)》请在金锄头文库上搜索。

1、第1章 概述 对话框创建和使用对话框创建和使用概念和分类创建和调用通用对话框第1章 概述 概念和分类概念和分类概念 最重要界面元素之一,是与用户交互的重要手段。对话框可用于捕捉用户的输入信息或数据,进行数据更新,计算和显示。 实例: 计算器,音乐播放器,. 分类 两种类型: 方式, 无模式 模式对话框 在退出对话框之前,对话框所在应用程序的其它操作不能继续执行。常见大多数对话框都是模式对话框。 无模式对话框 指当对话框被弹出后,一直保留在屏幕上,用户可继续在对话框所在的应用程序中进行其它操作; 当需要使用对话框时,只需象激活一般窗口一样单击对话框所在的区域即可激活。第1章 概述 创建和调用 创

2、建对话框 * 创建和编辑对话框; * 创建和编辑对话框类; * 调用对话框; 建立和使用对话框步骤 1.创建对话框和控件,编辑它们的属性 2.创建对话框类 CFirstDlg 在对话框资源模板的空白区域(没有其他元素或控件)内双击鼠标,将弹出对话框,询问是否为对话框资源创建一个新类。 单击OK按钮,将弹出New Class对话框。在Name框中输入类名CFirstDlg。 Base class和DialogID内容是由系统自动设置的,一般无需修改。即创建的对话框类默认是从基类CDialog派生而来的。 单击OK按钮;第1章 概述 创建和调用 3.调用对话框 建立新的菜单项,在视类菜单项消息响应

3、函数中,添加调用代码 有模式方法 CFirstDlg dlg;/ 定义对话框类对象 dlg.DoModal();/ 显示对话框 无模式方法 Cxx *dlg=new Cxx(); dlg-Create(IDD_DIALOG1); dlg-ShowWindow(SW_NORMAL); 无论哪种方式,都需在实现文件前部添加相应对话框定义文件,即: #include FirstDlg.h 留意:观察上述对话框退出之前,用户对该应用程序能否执行其它操作? 在应用程序菜单上,多次选择菜单项,将会在同一个位置中出现多个对话框。第1章 概述 创建和使用对话框步骤 1.创建对话框和控件,编辑它们的属性; 2.

4、生成对话框类,并可添加其成员变量和编辑成员函数; 3.调用对话框 调用对话框两个步骤: 1添加包含头文件语句 在相应类的实现文件中,添加包含对话框类定义的头文件语句 如创建和调用第1章 概述 创建和调用 include PWDialog.h 2在程序中调用对话框 可采用模式和无模式两种方法。 如,模式方法: CMyFirstDlg dlg; dlg.DoModal(); 或 CMyFirstDlg dlg; if(dlg.DoModal()=IDOK) 第1章 概述 创建和调用应用例示 模式对话框应用广泛,如密码加锁页面。 1.新建并编辑对话框,添加编辑框控件。 将编辑控件的style属性设置

5、为Password; 对话框标题设置为密码验证 利用编排-TAB ORDER菜单项,将EDIT控件的序号设定为一输入焦点) 2.新建对话框类C PWDialog,并添加编辑框控件对应的成员变量m_strPasswd,种类为value,类型为string, 3.在CXXApp类的实现文件中,添加# include PWDialog.h, 4.在程序中调用对话框,添加代码:第1章 概述 创建和调用 BOOL CQ3App:InitInstance() CPDlg dlg; if(dlg.DoModal()=IDOK) if(dlg.m_strPasswd!= abc) MessageBox(NUL

6、L,The PassWord is invalid!,aa,MB_YESNO); return false; else ./原代码 第1章 概述 创建和调用 4.编译运行 例 创建并使用无模式对话框 步骤: (1) 创建单文档应用程序中,在该项目中添加一个对话框资源,将其标识符设为IDD_DIALOG_SECOND, 标题设为“无模式对话框”,对话框字体和大小设为“宋体,9号”。 (2) 为IDD_DIALOG_SECOND对话框资源创建一个对话框类CSecondDlg。 (3) 打开MFC ClassWizard,从“Class name列表中选择CSecondDlg,在IDs列表中选择ID

7、OK, 它是对话框中OK按钮的标识符,然后在Messages框中选择BN_CLICKED(单击按钮)音讯, 单击Add Function按钮或双击BN_CLICKED消息,出现“Add Member Function对话框以输入成员函数的名称, 保留系统默认的函数名为OnOK。 第1章 概述 创建和调用 (4) 修改CSecondDlg:OnOK函数中的代码。 void CSecondDlg:OnOK() DestroyWindow(); / 终止对话框显示 delete this; /删除对话框,释放内存空间 代码中,DestroyWindow是对话框基类CWnd的一个成员函数, 用来终止窗

8、口。第1章 概述 创建和调用 (5) 将项目工作区切换到ClassView(类视图)页面,展开CMainFrame类的所有成员,双击OnTestDlg就会在文档窗口中自动定位到该函数的实现代码处,将其修改成下列代码: void CMainFrame:OnTestDlg() CSecondDlg *pDlg = new CSecondDlg; pDlg-Create( IDD_DIALOG_SECOND );/ 创建对话框 pDlg-ShowWindow( SW_NORMAL );/ 显示对话框 代码中,Create函数可以用来以一个对话框资源来创建对话 框,ShowWindow是CWnd一个成

9、员函数,用来显示对话框, SW_NORMAL用来指定将窗口显示成一般常用的状态。第1章 概述 创建和调用 (6) 在文件MainFrm.cpp的前面添加CSecondDlg类的包含语句,即: #include FirstDlg.h #include SecondDlg.h (7) 编译并运行。 观察在应用程序菜单上,多次选择“测试”“对话框菜单项,是否能出现多个对话框。第1章 概述 创建和调用 练习 用模式或无模式对话框实现 一个简单计算器对话框程序 为计算器对话框中按钮IDC_COMPUTE增加了消息响应函数。其成员函数参考代码: void CDLGDialog:OnCompute() Up

10、dateData(TRUE); switch(m_nOpr) case 0: m_d3=m_d1+m_d2; break; case 1: m_d3=m_d1-m_d2; break; case 2: m_d3=m_d1*m_d2; break;第1章 概述 创建和调用 case 3: if(m_d2!=0.0) m_d3=m_d1/m_d2; else AfxMessageBox(除数为零!); m_d3=0.0L; break; default: TRACE(default m_nOpr=%dn,m_nOpr); UpdateData(FALSE); 注释: UpdateData函数使用方

11、法: UpdateDataTRUE) - 将编辑框中的数据读取到成员变量; UpdateDateFALSE) - 将成员变量的数值传递到编辑中框显示第1章 概述 通用对话框 Windows提供了一组标准用户界面对话框,它们都有相应的MFC库中的类来支持。 所有这些通用对话框类都是从一个公共的基类CCommonDialog派生而来。通过相应函数,调用对话框。 通用对话框: * 消息对话框; * 文档对话框; * 字体对话框; 第1章 概述 通用对话框消息对话框 最简单的一类对话框,它只是用来显示信息的。在MFC类库中就提供相应的函数,可直接在程序中调用。 在使用消息对话框时,图标类型和按钮类型的

12、标识可使用“|”来组合,例如 MessageBox(“继续进行该操作吗?”,“提示 ,MB_YESNOCANCEL|MB_ICONWARNING); 两个函数原型如下: int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 ); int MessageBox( LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK );第1章 概述 通用对话框 这两个函数都是用来创建和显示消息对话框的; AfxMessageBox是全程函数,可

13、以用在任何地方。而这里的MessageBox只能在对话框、窗口和控件等一些窗口类中使用。 它们都是MFC函数,但与前面使用的MessageBox不同前面使用的MessageBox,是包含4个参数的API函数) int nChoice = MessageBox(你喜欢Visual C+吗?,提问,MB_OKCANCEL|MB_ICONQUESTION); if (nChoice = IDYES) /.第1章 概述 通用对话框文件对话框 文件对话框类CFileDialog CFileDialog构造函数的原型: CFileDialog( BOOL bOpenFileDialog, LPCTSTR

14、lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL ); CFileDialog构造函数参数说明: bOpenFileDialog 当bOpenFileDialog为TRUE时表示文件打开对话框,为FALSE时表示文件保存对话框。 lpszDefExt 用来指定文件扩展名。若用户在文件名编辑框中没有键入扩展名,则系统在文件名后自动添加lpsz

15、DefExt指定的扩展名。第1章 概述 通用对话框 lpszFileName 用来在文件名编辑框中指定开始出现的文件名,若为NULL时,则不出现。 dwFlags 用来指定对话框的界面标志 当为OFN_HIDEREADONLY时表示隐藏对话框中的“只读复选框, 当为OFN_OVER- WRITEPROMPT时表示文件保存时,若有指定的文件有重名,则出现提示对话框。 pParentWnd 用来指定对话框的父窗口指针。 lpszFilter 参数用来确定出现在文件列表框中的文件类型。 它由一对或多对字符串组成,每对字符串中第一个字符串表示过滤器名称, 第二个字符串表示文件扩展名,若指定多个扩展名则

16、用“;”分隔,字符串最后用两个“|”结尾。 留意:字符串应好写在一行,若一行写不下则用“”衔接。第1章 概述 通用对话框 例. 创建一个“翻开菜单项或按钮,当用户点击它时,会弹出一个文件对话框,并将用户选择的文件名显示出来。 建立一个菜单消息响应函数,添加代码: CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, NULL, NULL); if( dlg.DoModal() = IDOK ) CDC *pDC=GetDC(); pDC-TextOut(0,0,(LPCTSTR)dlg.GetFileName(); 义务 制作一个能进行常用算术运算的计算器

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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