欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    对话框创建和使用.ppt

    • 资源ID:2094754       资源大小:273.01KB        全文页数:20页
    • 资源格式: PPT        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    对话框创建和使用.ppt

    对话框创建和使用,概念和分类 创建和调用 通用对话框,概念和分类,概念 最重要界面元素之一,是与用户交互的重要手段。对话框可用于捕捉用户的输入信息或数据,进行数据更新,计算和显示。 实例: 计算器,音乐播放器,. 分类 两种类型: 模式, 无模式 模式对话框 在退出对话框之前,对话框所在应用程序的其它操作不能继续执行。常见大多数对话框都是模式对话框。 无模式对话框 指当对话框被弹出后,一直保留在屏幕上,用户可继续在对话框所在的应用程序中进行其它操作; 当需要使用对话框时,只需象激活一般窗口一样单击对话框所在的区域即可激活。,创建和调用,创建对话框 * 创建和编辑对话框; * 创建和编辑对话框类; * 调用对话框; 建立和使用对话框步骤 1.创建对话框和控件,编辑它们的属性 2.创建对话框类 CFirstDlg 在对话框资源模板的空白区域(没有其他元素或控件)内双击鼠标,将弹出对话框,询问是否为对话框资源创建一个新类。 单击OK按钮,将弹出New Class对话框。在Name框中输入类名CFirstDlg。 Base class和DialogID内容是由系统自动设置的,一般无需修改。即创建的对话框类默认是从基类CDialog派生而来的。 单击OK按钮;,创建和调用,3.调用对话框 建立新的菜单项,在视类菜单项消息响应函数中,添加调用代码 有模式方法 CFirstDlg dlg; / 定义对话框类对象 dlg.DoModal(); / 显示对话框 无模式方法 Cxx *dlg=new Cxx(); dlg-Create(IDD_DIALOG1); dlg-ShowWindow(SW_NORMAL); 无论哪种方式,都需在实现文件前部添加相应对话框定义文件,即: #include “FirstDlg.h“ 注意:观察上述对话框退出之前,用户对该应用程序能否执行其它操作? 在应用程序菜单上,多次选择菜单项,将会在同一个位置中出现多个对话框。,创建和使用对话框步骤 1.创建对话框和控件,编辑它们的属性; 2.生成对话框类,并可添加其成员变量和编辑成员函数; 3.调用对话框 调用对话框两个步骤: 1)添加包含头文件语句 在相应类的实现文件中,添加包含对话框类定义的头文件语句 如,创建和调用,创建和调用,include “PWDialog.h“ 2)在程序中调用对话框 可采用模式和无模式两种方法。 如,模式方法: CMyFirstDlg dlg; dlg.DoModal(); 或 CMyFirstDlg dlg; if(dlg.DoModal()=IDOK) ,创建和调用,应用例示 模式对话框应用广泛,如密码加锁页面。 1.新建并编辑对话框,添加编辑框控件。 将编辑控件的style属性设置为Password; 对话框标题设置为密码验证 利用编排-TAB ORDER菜单项,将EDIT控件的序号设定为一(输入焦点) 2.新建对话框类C PWDialog,并添加编辑框控件对应的成员变量m_strPasswd,种类为value,类型为string, 3.在CXXApp类的实现文件中,添加# include “PWDialog.h“, 4.在程序中调用对话框,添加代码:,创建和调用,BOOL CQ3App:InitInstance() CPDlg dlg; if(dlg.DoModal()=IDOK) if(dlg.m_strPasswd!= “abc“) MessageBox(NULL,“The PassWord is invalid!“,“aa“,MB_YESNO); return false; else ./原代码 ,创建和调用,4.编译运行 例 创建并使用无模式对话框 步骤: (1) 创建单文档应用程序中,在该项目中添加一个对话框资源,将其标识符设为IDD_DIALOG_SECOND, 标题设为“无模式对话框”,对话框字体和大小设为“宋体,9号”。 (2) 为IDD_DIALOG_SECOND对话框资源创建一个对话框类CSecondDlg。 (3) 打开MFC ClassWizard,从“Class name”列表中选择CSecondDlg,在IDs列表中选择IDOK, 它是对话框中OK按钮的标识符,然后在Messages框中选择BN_CLICKED(单击按钮)消息, 单击Add Function按钮或双击BN_CLICKED消息,出现“Add Member Function”对话框以输入成员函数的名称, 保留系统默认的函数名为OnOK。,创建和调用,(4) 修改CSecondDlg:OnOK函数中的代码。 void CSecondDlg:OnOK() DestroyWindow(); / 终止对话框显示 delete this; /删除对话框,释放内存空间 代码中,DestroyWindow是对话框基类CWnd的一个成员函数, 用来终止窗口。,创建和调用,(5) 将项目工作区切换到ClassView(类视图)页面,展开CMainFrame类的所有成员,双击OnTestDlg就会在文档窗口中自动定位到该函数的实现代码处,将其修改成下列代码: void CMainFrame:OnTestDlg() CSecondDlg *pDlg = new CSecondDlg; pDlg-Create( IDD_DIALOG_SECOND );/ 创建对话框 pDlg-ShowWindow( SW_NORMAL );/ 显示对话框 代码中,Create函数可以用来以一个对话框资源来创建对话 框,ShowWindow是CWnd一个成员函数,用来显示对话框, SW_NORMAL用来指定将窗口显示成一般常用的状态。,创建和调用,(6) 在文件MainFrm.cpp的前面添加CSecondDlg类的包含语句,即: #include “FirstDlg.h“ #include “SecondDlg.h“ (7) 编译并运行。 观察在应用程序菜单上,多次选择“测试”“对话框”菜单项,是否能出现多个对话框。,创建和调用,练习 用模式或无模式对话框实现 一个简单计算器对话框程序 为计算器对话框中按钮IDC_COMPUTE增加了消息响应函数。其成员函数参考代码: void CDLGDialog:OnCompute() UpdateData(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;,创建和调用,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函数使用方法: UpdateData(TRUE) - 将编辑框中的数据读取到成员变量; UpdateDate(FALSE) - 将成员变量的数值传递到编辑中框显示,通用对话框,Windows提供了一组标准用户界面对话框,它们都有相应的MFC库中的类来支持。 所有这些通用对话框类都是从一个公共的基类CCommonDialog派生而来。通过相应函数,调用对话框。 通用对话框: * 消息对话框; * 文档对话框; * 字体对话框; ,通用对话框,消息对话框 最简单的一类对话框,它只是用来显示信息的。在MFC类库中就提供相应的函数,可直接在程序中调用。 在使用消息对话框时,图标类型和按钮类型的标识可使用“|”来组合,例如 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 );,通用对话框,这两个函数都是用来创建和显示消息对话框的; AfxMessageBox是全程函数,可以用在任何地方。而这里的MessageBox只能在对话框、窗口和控件等一些窗口类中使用。 它们都是MFC函数,但与前面使用的MessageBox不同(前面使用的MessageBox,是包含4个参数的API函数) int nChoice = MessageBox(“你喜欢Visual C+吗?“,“提问“, MB_OKCANCEL|MB_ICONQUESTION); if (nChoice = IDYES) /. ,通用对话框,文件对话框 文件对话框类CFileDialog CFileDialog构造函数的原型: CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL ); CFileDialog构造函数参数说明: bOpenFileDialog 当bOpenFileDialog为TRUE时表示文件打开对话框,为FALSE时表示文件保存对话框。 lpszDefExt 用来指定文件扩展名。若用户在文件名编辑框中没有键入扩展名,则系统在文件名后自动添加lpszDefExt指定的扩展名。,通用对话框,lpszFileName 用来在文件名编辑框中指定开始出现的文件名,若为NULL时,则不出现。 dwFlags 用来指定对话框的界面标志 当为OFN_HIDEREADONLY时表示隐藏对话框中的“只读”复选框, 当为OFN_OVER- WRITEPROMPT时表示文件保存时,若有指定的文件有重名,则出现提示对话框。 pParentWnd 用来指定对话框的父窗口指针。 lpszFilter 参数用来确定出现在文件列表框中的文件类型。 它由一对或多对字符串组成,每对字符串中第一个字符串表示过滤器名称, 第二个字符串表示文件扩展名,若指定多个扩展名则用“;”分隔,字符串最后用两个“|”结尾。 注意:字符串应好写在一行,若一行写不下则用“”连接。,通用对话框,例. 创建一个“打开”菜单项或按钮,当用户点击它时,会弹出一个文件对话框,并将用户选择的文件名显示出来。 建立一个菜单消息响应函数,添加代码: 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(); 任务 制作一个能进行常用算术运算的计算器,

    注意事项

    本文(对话框创建和使用.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开