1 / 17

第 4 章 MFC 基于对话框编程

第 4 章 MFC 基于对话框编程. 保定职业技术学院. 第 4 章 MFC 基于对话框编程. 4.1 基于对话框的应用程序 4.2 基本消息框 4.3 公用对话框 4.4 创建自定义对话框 4.5 专题讨论与作业设计. 4.1 基于对话框的应用程序. 创建基于对话框的应用程序框架 在对话框中添加控件 编辑控件的属性 关联控件与变量 关联功能与控件. 4.2 基本消息框. 消息框函数 消息框函数 MessageBox( ) 是窗口类用来创建消息框的一个成员函数,函数的定义如下: int MessageBox(

starr
Download Presentation

第 4 章 MFC 基于对话框编程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第4章 MFC基于对话框编程 保定职业技术学院

  2. 第4章 MFC基于对话框编程 • 4.1基于对话框的应用程序 • 4.2基本消息框 • 4.3公用对话框 • 4.4创建自定义对话框 • 4.5专题讨论与作业设计

  3. 4.1基于对话框的应用程序 • 创建基于对话框的应用程序框架 • 在对话框中添加控件 • 编辑控件的属性 • 关联控件与变量 • 关联功能与控件

  4. 4.2基本消息框 • 消息框函数 消息框函数MessageBox( )是窗口类用来创建消息框的一个成员函数,函数的定义如下: int MessageBox( LPCTSTR lpszText, LPCTSTR, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK );

  5. 4.2基本消息框 • MessageBox( )函数有三个参数。 第一个参数lpszText,是要显示给用户的消息文本; 第二个参数lpszCaption,是要显示在消息框的标题栏中的标题,它是可选的; 第三个参数nType,用来指定显示给用户的按钮或图标,它也是可选的。 函数的第三个参数还可以指定消息框要显示的图标及按钮风格,

  6. 4.2基本消息框

  7. 4.2基本消息框

  8. 4.2基本消息框

  9. 4.2基本消息框

  10. 4.3公用对话框 • 公用对话框类 MFC类库提供的公用对话框类主要有: CColorDialog类:用于颜色选择对话框。 CFileDialog类:用于文件的打开或保存对话框。 CFindReplaceDialog类:用于查找或查找替换对话框。 CFontDialog类:用于字体设置对话框。 CPrintDialog类:用于打印设置对话框。

  11. 4.3公用对话框 • 使用公用对话框步骤 使用公用对话框的步骤如下: (1)创建一个对话框对象并对其属性进行设置。 (2)通过对话框类的DoModal函数向用户显示对话框并让用户选择。 (3)获得DoModal函数的返回值,判断用户是否做出了选择。如果用户单击了“确定”按钮返回值为IDOK,则读取用户设置来响应用户的操作;如果用户单击了“取消”,则不响应用户的操作。

  12. 4.3公用对话框 • 例如,使用文件打开对话框获得要打开文件名的一般代码为: CFileDialog fdlg(TRUE); //调用对话框,让用户选择 if(fdlg.DoModal()==IDOK) { m_edit_sRV=fdlg.GetPathName(); UpdateData(FALSE);}

  13. 4.4创建自定义对话框 • 对话框的基本知识 对话框按照其功能的不同可以分为模式对话框和无模式对话框,它们在外观上没有什么区别,但是在对话框的创建和删除上却有一定的区别。 模式对话框是最常见的对话框,当用户在应用程序中显示一个模式对话框时,不能在该对话框与该应用程序的其它窗口之间切换,而必须关闭对话框之后,才能将输入焦点转移到应用程序的其它窗口,这种类型的对话框叫做模式对话框,也称模态对话框。如Word字处理程序的“打开”对话框。 相对于模式对话框而言,无模式对话框不仅允许在对话框与其它应用程序的窗口之间切换,而且允许在对话框与同一程序的窗口之间切换,这种类型的对话框称为无模式对话框,也称非模态对话框。在Word字处理中,“查找与替换”对话框就是一个典型的无模式对话框,用户可以一边查找文字,一边编辑文本。

  14. 4.4创建自定义对话框 • 自定义对话框的创建步骤: (1)使用对话框的资源编辑器设计对话框的外观和控件的布局 (2)使用类向导创建新的对话框类。 (3)在对话框类中加入与控件相关联的成员变量。 (4)给对话框中的控件添加消息处理函数。 (5)在应用程序中声明对话框对象,并利用对话框的成员函数向用户显示对话框并接收用户的选择。

  15. 4.4创建自定义对话框 • 非模式对话框的数据交换机制

  16. 4.4创建自定义对话框 • 模式对话框的数据交换机制

  17. 4.5专题讨论与作业设计 • 4.5.1专题讨论 (1)为什么必须指定应用程序窗口中控件的切换顺序? (2)为什么要给控件指定惟一的ID值? (3)在检查每个控件的值之前,为什么必须调用UpdateData函数? (4)模式对话框与无模式对话框的数据是如何交换的? • 4.5.2作业设计 (1)扩展【例4.1】应用程序功能,设计一模式对话框,当单击“打开对话框”按钮时,弹出该对话框。 (2)设计一个简单的计算器,有加、减、乘、除、等于等运算符按钮和数字按钮,能够计算四则运算,将结果显示在窗口中。

More Related