对话框和标准控件.pptVIP

  • 2
  • 0
  • 约3.38万字
  • 约 10页
  • 2023-08-02 发布于江苏
  • 举报
第四章 对话框和标准控件1 本章内容对话框概述使用对话框标准控件通用对话框公共控件(略)2 一、对话框概述对话框是Windows应用程序中常用的I/O界面,是实现人机交互的容器型窗口,对话框总会包含一些功能性控件。控件是嵌入在对话框或其他窗口内的子窗口,用于实际完成数据或信息的I/O。对话框的存在方式有两种:一是作为独立的程序主窗口出现和使用;二是作为普通窗口类程序的弹出式子窗口实现其人机交互功能。从状态上区分,对话框分为“模式对话框”和“非模式对话框”两种。3 1、MFC的CDialog类CDialog类的成员函数有: CDialog()——构造函数,创建对话框对象DoModal()——激活并显示模式对话框Create()——创建非模式对话框OnOk()与OnCancel()——确定与取消按钮的处理函数OnInitDialog()—WM_INITDIALOG的消息处理函数EndDialog()——关闭模式对话框的函数4 对话框要实现人机交互,还必须使用CWnd类函数:ShowWindow()——显/隐对话框;DestroyWindow()——关闭销毁对话框;UpdateData()——设置或获取对话框控件的数据GetWindowText()——获取对话框窗口的标题SetWindowText ()——设定对话框窗口的标题GetDlgItemText()——获取对话框中控件的文本内容SetDlgItemText ()——设置对话框中控件的文本内容GetDlgItem()——获取控件或子窗口的指针,返回IDEnableWindow()——使能或禁用窗口5 2、MFC为对话框提供了DDX机制以此来自动实现控件与应用程序之间的数据交换的,同时使用DDV机制实现数据合法性的自动验证 。DDX——全称Dialog Data Exchange;数据交换DDV——全称Dialog Data Validation;数据检验6 3、使用信息/消息对话框程序员在编程时可以直接调用,以下为函数原型:三个函数依次为:MFC全局函数;API函数;CWnd类的成员函数。AfxMessageBox()和:: MessageBox()可以在任何地方使用,而第三种函数只能用于控件、对话框和窗口。lpText——表示要在对话框内显示的信息字串;hWnd表示对话框父窗口的指针,可为NULL;lpCaption——表示信息框的标题;nType——表示对话框的图标与按钮风格;7 8 二、使用对话框编程时,对话框由资源模板和对话框类共同组成。1、创建和使用对话框的主要步骤创建对话框模板资源和相关控件;用类向导创建对话框类和与控件相关联的成员变量和消息处理函数;设计程序访问接口来显示对话框并获取与控件相关联的程序数据。9 对话框在程序中的调用一般由菜单项来完成。由程序显示对话框就需要调用菜单命令的消息处理函数,加入如下通用型代码:CMyDialog myDlg;myDlg.DoModol();而要从对话框中获取相关控件数据的方法是: CMyDialog mydlg; //当对话框内控件接受输入并单击OK键后 If (myDlg.DoModol()==IDOK){ appVariableX=dlg.m_nXControlDataMember; ……; }10 对话框的基本工作流程11 2、创建和使用对话框实例编制一个在客户区画圆的应用程序,要求用对话框来接受用户键盘输入的圆半径参数。步骤(1)为视图类声明成员变量: UINT m_nViewRadius;(2)创建对话框模板(标题:输入半径;ID缺省IDD_DIALOG1)(3)添加两个控件:Static Control: 请输入半径;EditBox: IDC_EDIT_RADIUS。(4)双击对话框空白处,为其创建新类CRadiusDlg,并为其核心控件IDC_EDIT_RADIUS创建m_nRadius的UINT类型变量。12 (5)在程序的“编辑”菜单中添加“输入半径(I)…”的菜单命令,并用类向导生成消息映射函数,加入如下定义代码:CRadiusDlg dlg;Dlg. m_nRadius=100; //设置控件初值If(dlg.DoModal()==IDOK){ m_nViewRadius=dlg m_nRadius; //接受并存储编辑框内的数据 Invalidate( ); //强制刷新视图}(6)在视图类的OnDraw()函数中加入画圆代码: pDC-Ellipse(90,90, m_nViewRadius, m_nViewRadius);(7)在视图类中加入包含语句: #include “RadiusDlg.h”13 三、标准控件1、控件概述Windows提供两种控件:标准控件和公共控件。标准

文档评论(0)

1亿VIP精品文档

相关文档