windows编程基础-对话框

windows编程基础-对话框

ID:8234450

大小:496.15 KB

页数:40页

时间:2018-03-11

windows编程基础-对话框_第1页
windows编程基础-对话框_第2页
windows编程基础-对话框_第3页
windows编程基础-对话框_第4页
windows编程基础-对话框_第5页
资源描述:

《windows编程基础-对话框》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Windows编程基础1第四章对话框本课程旨在向学员介绍:1)对话框和对话框类2)模式对话框3)无模式对话框4)属性页对话框5)通用对话框2学习对话框的重要性•Windows应用程序的基本工作流程是从用户那里得到数据,经过相应的处理后,再把计算结果输出到屏幕或打印机。获取数据的方法会涉及很重要的界面对象-对话框。•首先学习对话框应用程序的好处:–它比基于文档/视图应用程序更易于理解–涉及的类少,但与文档/视图应用程序有相同的威力。3对话框的类型•主要有以下两种–模态(Modal)对话框,必须首先响应这个对话框才可以进行其他动作。–非模态(Modaless)对话框,用

2、户可以操作该程序的其他窗口。4CDialog类•CDialog类从CWnd类派生而来,所以它继承了CWnd类的成员函数,具有CWnd类的基本功能,可以编写代码移动、显示或隐藏对话框,并能根据对话框的特点增加新的成员函数,扩展它的功能。CObjectCmdTargetCWndCDialog5对话框类相关成员函数成员函数功能描述CDialog::DoModal()激活模态对话框,显示对话框窗口直到该窗口关闭返回CDialog::Create()根据对话框模板资源创建非模态对话框CDialog::OnOK()单击OK按钮调用该函数,内部调用EndDialog()CDial

3、og::OnCancel()单击取消或Esc调用该函数,内部调用EndDialog()CDialog::OnInitDialog()响应WM_INITDIALOG消息CDialog::EndDiaolg()用于关闭对话框窗口6属性页对话框类简介•MFC中创建对话框的类除了CDialog类外,还有CPropertySheet和CPropertyPage,后两者是创建属性页和向导对话框的基础。7普通对话框应用程序组成•对话框主要由以下两部分组成:–对话框模板:对话框模板定义了对话框的特性(比如大小、位置和风格)以及对话框中每个控件的类型和位置。–对话框类:从CDialo

4、g类派生的对话框类提供编程接口来管理对话框。8框架生成的对话框应用程序•Simple对话框应用程序相关类组成:–CSimpleApp类,父类是CWinApp类–CSimpleDlg类,父类是CDialog–CAboutDlg类,父类是CDialog9基本对话框应用程序开发•基本对话框应用程序开发方法–设计对话框模板资源–为对话框进行初始化工作–使用ClassWizard添加数据成员和成员函数10设计对话框模板资源控件布局工具栏对话框模板控件工具栏11设计对话框模板重要工作内容•对话框模板资源设计重要工作内容–从Controls工具箱中挑选合适的控件,并调整其位置和大

5、小–设置控件的ID,Caption及其他属性–选择Layout/Test验证设计效果12对话框类中相关的RC文件对照IDD_SIMPLE_DIALOGDIALOGEX0,0,320,200STYLEDS_MODALFRAME

6、WS_POPUP

7、WS_VISIBLE

8、WS_CAPTION

9、WS_SYSMENUEXSTYLEWS_EX_APPWINDOWCAPTION"Simple"FONT9,"宋体"BEGINDEFPUSHBUTTON"确定",IDOK,260,7,50,14PUSHBUTTON"取消",IDCANCEL,260,23,50,14LTEXT"TODO

10、:在这里设置对话控制。",IDC_STATIC,50,90,200,8END13添加对话框类对应的成员变量•使用ClassWizard添加成员变量–intm_nLength;–intm_nWidth;–intm_nArea14添加响应函数15响应函数内容voidCSimpleDlg::OnComputeArea(){UpdateData(TRUE);m_nArea=m_nLength*m_nWidth;UpdateData(FALSE);}16对话框中的数据交换-1/2在对话框的构造在OnInitDialog中函数中完成成员对控件初始化变量的初始化成员变量对话框对象

11、取得更新后的值调用UpdateData(TRUE)获得控件的值17对话框中的数据交换-2/2•对话框的数据交换是通过DoDataExchange函数来实现.–如:DDX_Text(pDX,IDC_NUM1,m_num1);•UpdateData函数自动调用DoDataExchange;–UpdateData(TRUE)将控件中的数据传给数据成员;–UpdateData(FALSE)则将数据从数据成员中传送给对应的控件。18关于对话框数据交换和数据校验DoDataExchange()函数由框架调用,可以找到下列函数:voidCAddDlg::DoDataExcha

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。