- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
非模态对话框 非模态对话框允许用户在处理非模态对话框的同时处理目标对话框,其不会垄断用户的输入,如图4-5所示。 使用ClassWizard加入成员变量 创建好了对话框类后,就可以使用ClassWizard为对话框类加入与控件相关联的成员变量了。 添加消息处理函数 所谓消息处理函数即窗口过程,在这个函数中,不同的消息将用switch分支语句分配到不同的处理程序中去,消息处理函数在应用程序中的功能如图4-23所示。 添加消息处理函数 双击ClassWizard中的按钮来打开【Add Member Function】对话框。在该对话框中添加消息处理函数。事实上,读者可以右击该类,在其中选择【Add Windows Message Handle】菜单项,在其中也可添加消息处理函数。 显示非模态对话框 例如,要显示一个非模态对话框m_Mydlg,其实现代码如下所示。 if (!m_Mydlg.m_hWnd) //判断对话框是否已被创建 { m_Mydlg.Create(IDD_MYDLG); //创建对话框IDD_MYDLG } m_Mydlg.ShowWindow(SW_SHOW); //显示对话框 显示模态对话框 例如,要创建并显示一个模态对话框,其实现代码如下所示: CMyDlg m_Mydlg; //定义对象m_Mydlg m_Mydlg.DoModal(); //创建模态对话框 对话框的数据交换 对话框的数据成员变量存储了与控件相对应的数据。在对话框运行后,数据变量需要和控件交换数据,以完成输入或输出功能。例如,一个编辑框可能需要用来输入,也可能需要用来输出。当用作输入时,用户在其中输入了数值之后,对应的数据成员应该更新与编辑框中的数值相同;当用作输出时,应及时刷新编辑框的内容以反映相应数据成员的变化。因此,对话框就需要一种机制来实现这种数据交换功能。 对话框的数据交换 Visual C++的对话框中数据交换通过调用UpdateData函数来实现。UpdataData函数原形如下: BOOL UpdateData ( BOOL bSaveAndValidaet = TRUE); UpdataData函数只有一个布尔型参数bSaveAndValidate,其决定了数据传送的方向。若参数值为TURE,即调用UpdateData(TRUE),表示将数据从对话框的控件中传送到对应的数据成员中;若参数值为FALSE,即调用UpdateData(FALSE),则表示将数据从数据成员中传送给对应的控件。 对话框的数据交换 例如,用户在非模态对话框IDD_MYDLG的【相加】按钮的处理函数OnOK()函数中键入如下代码来实现数据交换。 UpdateData(TRUE); //将数据从对话框的控件中传送到对应的数据成员中 m_nSum=m_nNum1+m_nNum2; //计算 UpdateData(FALSE); //将数据从数据成员中传送给对应的控件 综合练习 设计一个用户登录框,并拥有判断功能:当用户输入正确的用户名“admin”和正确的密码“123456”后显示如图4-39所示结果,否则显示4-40所示错误信息。 * * 第四讲:对话框 杨章伟 e-mail:yang505412@163.com 课程内容安排 对话框概述 创建对话框 模态对话框和非模态对话框 属性页和向导对话框 公用对话框 综合练习 思考和习题 对话框概述 在Visual C++中,对话框是一个真正的窗口。对话框不仅可以接收消息,而且还可以被移动和关闭,甚至可以在其客户区中进行绘图。因此,可以将对话框看成一个大容器,在它上面能够放置各种各样的标准及扩展控件,使程序支持用户输入的手段更加丰富,如图4-1所示。 对话框的种类 一般的说,Windows应用程序中,对话框分为模态(Modal)对话框和非模态(Modeless)对话框两种,这两种对话框的区别在于当对话框打开时是否允许用户进行其他对象的操作。 模态对话框是指在用户想要进行对话框以外的应用程序操作时必须首先对该对话框进行响应 非模态对话框与模态对话框不同,当用户打开非模态对话框时,依然可以操作其他窗口。 模态对话框 模态对话框垄断了用户的输入,当一个模态对话框打开时,用户只能与该对话框进行交互,而其他用户界面对象收不到输入信息。模态对话框下,用户需要操作目标对话框就必须先操作模态对话框,如图4-3所示,这就是用户对模态对话框的处理。 对话框编辑器 对话框的设计区域称为对话框编辑器。当读者插入一个新的对话框资源后,打开工作台的资源面板
您可能关注的文档
- 人大版模拟试题及解析》辨析题部分.doc
- 人大版统计学习题加答案 第八章 指数.doc
- 中国人民大学新闻学院历年考研试题.doc
- C%2B%2B程序设计教程5-函数.ppt
- 2010年硕士研究生招生入学考试科目.doc
- 统计学时间序列习题.doc
- 统计学时间数列习题及答案.doc
- 2010财大各科参考书.doc
- 司法考试 法制史 历年真题汇集、答案及解析.doc
- 武汉大学-面向对象程序设计2010-2011学年期末考试-张勇.doc
- 2025年金肯职业技术学院单招职业适应性测试题库带答案.docx
- 2025年钦州幼儿师范高等专科学校单招综合素质考试题库完美版.docx
- 2025年钟山职业技术学院单招职业适应性考试题库参考答案.docx
- 2025年金华职业技术学院单招职业技能测试题库附答案.docx
- 2025年闽南理工学院单招职业技能测试题库审定版.docx
- 2025年闽南理工学院单招综合素质考试题库审定版.docx
- 2025年闽南理工学院单招职业倾向性考试题库汇编.docx
- 2025年闽南理工学院单招职业倾向性考试题库推荐.docx
- 2025年闽北职业技术学院单招综合素质考试题库1套.docx
- 2025年长沙轨道交通职业学院单招职业技能考试题库一套.docx
文档评论(0)