VisualC++程序设计与上机指导.pptVIP

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 5 章 对话框 5.1 对话框概述 5.2 模式对话框 5.3 非模式对话框 5.4 属性页对话框 5.5 通用对话框 5.6 应用实例 3.对话框对象的创建方式 由于在Create()返回后,不能确定对话框是否已关闭,这样也就无法确定对话框对象的生存期,所以不能以局部变量的形式创建非模态对话框的对象,只能用new操作符动态创建,并且在调用对话框类的窗口类内声明一个指向对话框类的指针变量,通过该指针访问对话框对象。 4.窗口删除函数 非模态对话框必须调用CWnd::DestoryWindow()来关闭对话框。 模态对话框是调用CDialog::EndDialog()关闭对话框。由于默认的对话框函数OnOK()和OnCancel()都是调用EndDialog()关闭对话框的,该函数使对话框不可见但不删除对话框对象。所以非模态对话框类要定义自己的OnOK()和OnCancel()函数,调用DestoryWindow()来关闭对话框。 5.清理对话框对象的方式 与创建对象的方式new操作相对应,使用delete操作删除一个非模态对话框对象。 当屏幕上一个窗口被关闭后,框架会自动调用CWnd::PostNcDestroy()函数,也可以编写程序代码,在这个函数中清理非模态对话框对象。 6. 必须有一个标志表明非模态对话框是否是打开的 因为在非模态对话框打开的情况下,用户有可能再次选择打开该对话框,这时不能再创建一个新的非模态对话框。 程序根据标志来判断是打开一个新的对话框还是激活一个已打开的对话框。通常可以用拥有者窗口中的指向对话框对象的指针作为这种标志,当对话框关闭时,给该指针赋NULL值,以表明对话框对象已不存在了。 【例5.5】创建一个单文档的MFC应用程序,以非模态对话框的形式实现应用程序MyDialog同样的功能。 5.3.2 窗口对象的自动清除(自学) 5.4 属性页对话框 属性页对话框实际上是一个包含了多个子对话框的对话框,这些子对话框通常被称为页(Page)。每次只有一个页是可见的,在对话框的顶端有一行标签,用户通过单击这些标签可以切换到不同的页。 为了支持属性页对话框,MFC提供了CPropertySheet类和CPropertyPage类。分别代表属性页对话框和对话框中的某一页。 【例5.6】创建一个单文档的MFC应用程序Li5_6,通过【对话框|属性页对话框】菜单项,打开如图所示的对话框。当按确定按钮后,将在消息框中输出相关信息。 【例5.6】使用CpropertySheet派生类对象来创建与例5.5同样的属性页对话框。 5.5 通用对话框 5.5.1 CFileDialog类 用CFileDialog类提供的通用文件对话框,实现Windows标准的【打开】和【另存为】功能。 使用CFileDialog可按以下步骤进行。 构造CFileDialog类的对象。该类的构造函数为: CFileDialog( BOOL bOpenFileDialog,值为TRUE,构造【打开】对话框;值为 FALSE,构造“另存为”对话框 LPCTSTR lpszDefExt=NULL,默认的文件扩展名 LPCTSTR lpszFileName=NULL,出现在文件名编辑框中的初始文件名 DWORD dwFlags=OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter=NULL,CWnd *pParentWnd=NULL文件过滤器, 用于确定显示在文件列表中的文件类型 ) 例如,以下字符串就是一个描述只在文件列表框中显示文本文件(*.txt)和Microsoft文件(*.doc)的过滤器。? CFileDialog dlg(TRUE,bmp,*.bmp, OFN_HIDEREADONLY |OFN_ALLOWMULTISELECT,文本文件(*.txt)|*.txt|Word文件(*.doc)|*.doc||); 第1个参数TRUE:【打开】对话框; 第2个参数“bmp”:如果在文件名对话框中输入文件名时未指定扩展名,则会自动附加“.bmp”; 第3个参数“*.bmp”:文件名对话框中的初始文件名是*.bmp; 第4个参数代表dwFlags:不显示隐藏文件,且可以在列表框中进行多选;第5个参数是过滤器:在文件类型下拉列表框中显示了文本文件(*.txt

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档