




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十一章 对话框程序设计及应用,编Visual C+程序首先要创建一个良好的可视化界面,而每个程序界面是由对话框(Dialog)和一些必要的控件(Control)构成的。 界面设计的一般步骤为: 1)在对话框上布置控件。 2)设置各控件属性。 3)设置对话框属性。,创建一个对话框应用程序的步骤如下: 1、在VC+集成环境中,选择文件File-新建New菜单项-工程Project-MFC AppWizard (exe)。 2、Projiect Name文本框中输入项目名称和存储位置。 3、在MFC AppWizard-Step1 对话框中选择基于对话框的应用程序(Dialogbased),语言支持选择简体中文。 4、在AppWizard弹出的MFC AppWizardStep2对话框中,取消对About Box的选择,单击“Finish”按钮完成项目的设定工作。,11.1 与对话框界面设计相关的窗口,对话框编辑窗口:设计对话框的场所。 工具箱窗口:提供给对话框设计必要的控件。 属性窗口:浏览并设定对话框、控件的属性。 11.1.1 资源管理器 在资源管理器中可以编辑对话框。如果对话框没有显示,可以按以下步骤打开对话框: 单击工作空间的“Resource View”选项卡-打开资源管理器-展开Dialog节点-双击DIALOG项目打开对话框编辑窗口。,11.1.2 工具箱窗口 在工具栏上右击-选择Controls工具箱,打开工具箱。 工具箱窗口每一个图形按钮各代表一种控件当把鼠标移到某个图形按钮上时会出现文字提示控件的类型提示。 11.1.2 属性窗口 Visual C+的每个控件的属性都不尽相同,每个控件的属性窗口不一样,但是显示属性窗口的方法是一样的。 步骤:选择对话框或者控件-右单击鼠标键-选择Properties,在属性窗口中可以设置对话框和控件的属性。,11. 2 在对话框上设置控件,设置步骤: 1、选取控件:在工具箱中双击该控件将其添加对话框中。 2、改变控件的位置:在对话框中用鼠标拖动的方法将控件移到适当的位置。 3、调整控件大小:单击该控件以选取控件,控件周围出现8个小蓝点,把鼠标移动到任何一个小蓝点上,鼠标指针的形状变成双箭头,按下鼠标左键、拖动、再释放鼠标左键即叫调整控件的大小。 4、设置对象属性:选择对象(对话框或者控件)-单击鼠标右键-选择Properties-打开相应对象的属性窗口,在属性窗口中可以设置对话框和控件的属性。,第一步:选择文件File-新建New菜单项-工程Project-MFC AppWizard (exe)-在Step1 中选择基于对话框的应用程序-Step2中-取消对About Box的选择,单击“Finish”按钮完成项日的设定工作。建立一个对话框应用程序: 第二步:在对话框上设置控件及其属性:(可以省略) 第三步:设置函数 选择“确定”按钮-右击-选择“建立类向导”-在MFC AppWizard选项卡中: Project :本项目名 Class name:C本项目名 View Object IDs:IDOK Messages:BN_CLICKED 选择“Add Function”-“Edit Code”,11.3 对话框设计举例1-简单应用,3、写入下例红色代码: void CAbcDlg:OnOK() / TODO: Add extra validation here CClientDC dc(this); / this一般指向本窗口或当前活动视图 dc.Rectangle(10,10,110,110); / 画矩形 dc.MoveTo ( 80,100 ); / 确定起始点 dc.LineTo ( 200,200 ); / 画线的终点坐标 / CDialog:OnOK(); 4、保存并运行程序:运行程序单击“确定”,客户区显示信息。,11.4 对话框设计举例2-设计一个计算器程序,实现加、减、乘、除四则运算。,11.4 对话框设计举例2 设计一个计算器程序,实现加、减、乘、除四则运算。 步骤一、创建一个对话框应用程序: 1、在VC+集成环境中,选择文件File-新建New菜单项-工程Project-MFC AppWizard (exe)。 2、Projiect Name文本框中输入项目名称和存储位置。 3、在MFC AppWizard-Step1对话框中选择基于对话框的应用程序(Dialogbased),语言支持选择简体中文。 4、在AppWizard弹出的MFC AppWizardStep2对话框中,取消对About box的选择,单击“Finish”按钮完成项目的设定工作。,步骤二、设置控件及其属性 Button1控件:ID属性-IDOK;Caption属性-退出。 Button2控件:ID属性-ID_BUTTON2;Caption属性-计算。 GroupBox控件(框架):ID属性-IDCSTATIC;Caption-选择运算符。 Radio1(单选框):ID属性-ID_RADIO1;Caption-+; 选择Group复选框。 Radio2:ID属性-ID_RADIO2;Caption-。 Radio3:ID属性-ID_RADIO3;Caption-*。 Radio4:ID属性-ID_RADIO4;Caption-/。 Edit1(编辑框):ID属性-IDEDIT1。 Edit2:ID属性-ID_EDIT2。 Edit3:ID属性-ID_EDIT3。 Static1(静态文本框):ID属性ID_STATIC1;CaptiOn-+。 Static2:ID属性-ID_STATlC2;CaptiOn - =。 Check1:ID属性-ID_CHECK1; Caption - 立即计算 注意:若4个单选框是一组,只能一个选Group复选框,否则各自独立。,步骤三、 定义成员变量 如何在程序中协调和控制控件? 如何建立控件之间的联系? 程序如何得知用户对控件的操作并做出响应呢? 解决方法: 1、定义与控件相联系的变量,在程序中通过关联变量来完成对控件的控制。为控件定义变量的方法如下: “查看”-“建立类向导”-选择Member Variables选项卡-选择Controls IDS中控件ID-单击“Add Variable”按钮-利用对话框为控件建立相联系的成员变量。 注意:选择变量的类型。 2、为控件添加事件处理函数,将用户对控件的操作(如单击按钮、改变单选按钮的选择等)作为一个事件通知给程序,由程序的事件处理函数完成对用户操作的处理。,所增加的所有变量如下: IDC_EDIT1:double-m_m1。 / 编辑框1 IDC_EDIT2:double-m_m2。 / 编辑框2 IDC_EDIT3:double-m_m3。 / 编辑框3 IDC_RADIO1:int -m_dop。 / 单选框1 IDC_STATIC1:CString-m_str。 / 静态文本框1 IDC_CHECK1: BOOL-m_ft 。 / 复选框,步骤四、增加事件处理函数 查看建立类向导- 在Message Maps卡中选择: Project :本项目名 Class name:C本项目名 Dlg Object IDs:选择各控件的IDS选择相应的 Messages事件-选择Add FunctionEdit Code 事件处理函数如下: IDC_EDIT1:EN_CHANGE。 IDC_EDIT2:EN_CHANGE。 IDCRADlO1:BN_CLICKED IDCRADlO2:BN_CLICKED IDCRADlO3:BN_CLICKED IDCRADlO4:BN_CLICKED IDOK:BN_CLICKED IDC_CHECK1: BN_CLICKED,说明: BN_CLlCKED事件:当鼠标单击按钮类控件(单选按钮等)触发。 BN_DOUBLECLICKED:当鼠标双击按钮类控件事件被触发; EN_CHANGE:编辑框的内容被改变,步骤五、添加代码实现相应功能。 计算按钮: void CLtDlg:OnOK() UpdateData(true); /更新所有与对话框相关联的变量 switch(m_dop) case 0: /加法 m_m3=m_m1+m_m2; break; case 1: /减法 m_m3=m_m1-m_m2; break; case 2: / 乘法 m_m3=m_m1*m_m2; break; case 3: / 除法 m_m3=m_m1/m_m2; break; UpdateData(false); /更新与变量相关联的控件的显示状态 ,步骤五、添加代码实现相应功能。 编辑框1: void CLtDlg:OnChangeEdit1() UpdateData(); if (m_ft ) OnOK(); 编辑框2: void CLtDlg:OnChangeEdit2() UpdateData(); if (m_ft ) OnOK(); 立即计算复选框: void CAaDlg:OnCheck1() UpdateData(); if(m_ft) OnOK(); ,步骤五、添加代码实现相应功能。 单选框1:+ void CLtDlg:OnRadio1() UpdateData(true); m_str=“+“; UpdateData(false); 单选框2:- void CLtDlg:OnRadio2() UpdateData(true); m_str=“-“; UpdateData(false); ,步骤五、添加代码实现相应功能。 单选框3:* void CLtDlg:OnRadio3() UpdateData(true); m_str= “ *“; UpdateData(false); 单选框4:/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国裸钻行业市场现状分析及竞争格局与投资发展研究报告
- 2025-2030中国脑电放大器行业市场发展趋势与前景展望战略研究报告
- 2025-2030白糖产业政府战略管理与区域发展战略研究咨询报告
- 儿童画亡羊补牢课件图片
- 生物科技创业机遇-洞察及研究
- 儿童父亲节领带课件
- 心理健康教育二年级家长会
- 酒店双人礼遇制度方案
- 农村老屋防潮改造方案
- 政企双向共建方案模板
- 飞机的平衡、稳定性与操纵性
- 《习作:神奇的探险之旅》教案
- 《时尚运动鞋》美术教育绘画课件创意教程教案
- GB/T 27772-2025病媒生物密度控制水平蝇类
- 2025年中国竹节参市场发展规划及投资战略可行性预测报告
- 电梯日管控、周排查、月调度制度及管控清单(附记录表格)2
- 2025河南大河控股有限公司招聘3人笔试参考题库附带答案详解
- 第三届全国技能大赛竞赛(装配钳工)选拔赛备考试题(附答案)
- 水阁污水处理厂二期工程-污泥系统设备采购项目招标文件
- 礼盒定制协议书范本
- 《民法学课件》课件-第五编-第十六章 所有权通论
评论
0/150
提交评论