11.3 对话框简单应用

特殊说明:版权归个人所有,请勿转载,谢谢合作。

对于对话框而言,在今后的工作与学习,只关心对话框管理类(本例为CDemo_11Dlg)即可,因为大部分的操作都会基于这个对话框。下面将以对话框模式实现一个简单的加法功能,并会详细说明各个步骤的操作过程。

 

打开对话框编辑模式,并将【确定】与【取消】按钮拖拽到适当的位置,如图11.11所示。

  • 图11.11 对话框

 

在对话右侧的工具条中,拖拽两个静态控件、三个编辑框控件和一个按钮,并安排位置,如图11.12所示。

  • 图11.12 拖拽控件

在第一个静态控件上,点击鼠标右键,在弹出的菜单中选择【Properties】项,如图11.13所示。

  • 图11.13 选择属性

弹出的属性对话框中,在【Caption】处输入“+”号,如图11.14所示。

  • 图11.14 静态控件属性

 

同样将第二个属性对话框中,在【Caption】处输入“=”号,最终结果如图11.15所示。

  • 图11.15 修改后的静态控件

 

接下来修改编辑框控件的ID。选择第一个编辑框控件,点击鼠标右键,在弹出的菜单中选择【Properties】项,在属性界面的【ID】处修改ID为“IDC_EDT_OP1”,如图11.16所示。

  • 图11.16 编辑框属性

 

同样将第二个、第三个编辑框控件的ID分别更改为“IDC_EDT_OP2”与“IDC_EDT_EQ”。此时在对话框界面中,点击鼠标右键,在弹出的菜单中选择【ClassWizard…】项,如图11.17所示。

  • 图11.17 选择类向导

 

随后将弹出类向导界面,此时选择【Member Variables】选项卡,如图11.18所示。

  • 图11.18 MFC 类向导

 

在【Control IDs】列表中,鼠标双击【IDC_EDT_OP1】来添加映射的变量,在弹出的添加成员变量的界面中,输入【Member variable name】成员的名称“m_iOp1”,并且在【Variable Type】变量类型处选择“int”类型,选择完毕后,点击【OK】按钮确认映射完成,如图11.19所示。

  • 图11.19 映射变量

变量映射完成后,可以在MFC类向导中看到映射的内容,如图11.20所示。

  • 图11.20 变量映射结果

 

同样将“IDC_EDT_OP2”与“IDC_EDT_EQ”分别映射变量为“m_iOp2”与“m_iEq”。映射完成后,点击【OK】按钮确认完成,如图11.21所示。

  • 图11.21 全部变量映射结果

还需要更改按钮的名称与ID,同样点击鼠标右键,在弹出的菜单中选择【Properties】项,在按钮属性界面中,修改【ID】值为“IDC_BTN_CALC”,修改【Caption】值为“计算”,如图11.22所示。

  • 图11.22 按钮属性

 

所有准备工作做完之后,将对按钮映射函数,通过这个函数来实现控件之前的加法操作,鼠标双击【计算】按钮,将弹出添加成员函数界面窗口,在窗口中,直接点击【OK】按钮即可,如图11.23所示。

  • 图11.23 添加成员函数

 

在自动映射出来的函数中添加加法操作代码,如图11.24所示。

  • 图11.24 计算按钮实现方法

 

编译并执行后,在编辑框中输入相应的数字,点击【计算】按钮后,即可计算出结果。如图11.25所示。

  • 图11.25 程序执行结果

 

在MFC编程中,如果将控件映射类型为“Value”,则在获得当的值的时候,需要使用“UpdateData(TRUE);”语句,在对控件进行赋值操作时,需要在语句的后面加入“UpdateData(FALSE);”语句。在之前的操作中,控件与变量已经映射在一起了,所在直接使用变量即可(操作变量,就是相当于操作控件),具体代码如下所示:

void CDemo_11Dlg::OnBtnCalc() 
{
  // TODO: Add your control notification handler code here
  UpdateData(TRUE);
  m_iEq = m_iOp1 + m_iOp2;
  UpdateData(FALSE);
}

 

转载请附上原文出处链接及本声明
李老师的博客 » 11.3 对话框简单应用

发表评论

提供最优质的文章集合

立即查看 了解详情