MFC编程学习 ------(1)加法计算器

来源:互联网 发布:美国一年制硕士 知乎 编辑:程序博客网 时间:2024/05/16 07:26

              今天开始学习MFC编程,该序列博客只是笔者自己学习所记,不喜勿喷!

     1、本讲效果图

   简述,很简单,两个数的相加操作。

    2、建立工程

    点击VS2010“新建”--“项目”,在弹出的对话框中找到Virtual C++,展开树,选择MFC应用程序,在下方的工程名称和解决方案名称,输入完成后点击下一步。

 

  在弹出向导中点击下一步,在“应用程序类型”页面选择“基于对话框”,随后点击完成。

3、布局界面

   切换到“资源视图”页面,展开rc目录下的Dialog目录,双击要修改的界面,从工具箱中拖动需要布局的控件到界面上,调节控件位置达到自己想要的效果即可。

4、添加变量

  选中需要添加变量的控件(本讲中的输入框),鼠标右键选择“添加变量”,在弹出的对话框中选择相应的变量类型,选择输入完成后点击完成。

5、编写代码

  双击界面上的“计算”按钮切换到代码编辑页面。MFC中DoDataExchange()函数可以将输入的值保存到m_editSummand变量中,反之如果程序运行中修改了变量m_editSummand的值,则通过CAddition的DoDataExchange()函数也可以将新的变量值显示到被加数的编辑框中。但是这种数据交换机制中,DoDataExchange()并不是被自动调用的,而是需要我们在程序中调用CDialogEx::UpdateData()函数,由UpdateData()函数再去自动调用DoDataExchange()的。

       CDialogEx::UpdateData()函数的原型为:

       BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

       参数:bSaveAndValidate用于指示数据传输的方向,TRUE表示从控件传给变量,FALSE表示从变量传给控件。默认值是TRUE,即从控件传给变量。

       返回值:CDialogEx::UpdateData()函数的返回值表示操作是否成功,成功则返回TRUE,否则返回FALSE。

   故此,我们在点击了“计算”按钮后首先应该获得当前输入的变量的值,然后将变量的值用于计算,计算完成后再将计算后的值更新到界面上。用代码实现如上描述:

UpdateData();                        //1  将当前界面上的内容更新到绑定的变量中m_value = m_editSummand + m_second;  //2  计算UpdateData(false);                   //3  将计算后的结果再次更新到界面上

    可以使用Ctrl+D调出tab键顺序对控件的tab键序进行调整。

0 0
原创粉丝点击