MFC的简单使用(加法器的实现)

来源:互联网 发布:卖家淘宝店铺修改名字 编辑:程序博客网 时间:2024/06/07 01:51

参考:鸡啄木的VS2010_MFC编程入门

1.新建一个对话框的MFC程序

新建MFC项目

新建MFC

其余的按默认选就可以了。
点击“完成”显示如下:

新建MFC

在‘资源视图’中可以打开对应的对话框,如果右侧找不到,选中”视图”-“其他窗口”-“资源视图”

资源视图

2.窗体属性设置

选中整个窗体(四周会有若干个框选点),在“属性”中可以进行修改。
属性设置

Caption:窗体左上角显示的名称

Caption

最大化,最小化按钮:

按钮

3.添加对话框资源

窗体中默认有“显示”和“取消”两个控件。可选中,delete删除。
点击左侧“工具箱”,选中”Static Text”,拖到窗体中。

添加对话框资源

选中该控件,修改“Caption”为“jiashu”。“ID”修改为“IDC_STATIC_jiashu”。(修改ID是为了方便到时候对应上控件)。

ID

同理,添加“Edit Control”和“Bottom”控件。将第三个示例编辑框设置成“只读”属性。

添加对话框资源

这样,对话框资源基本就完成了。

4.建立对话框类

为需要的控件添加变量。这里我们为三个示例编辑框添加变量。

添加变量
变量名自己设定。其他两个同理。

为Bottom“计算”添加“消息处理函数”。添加消息处理函数常见的方法有四种。

  1. 右键-类向导
    之前我们将bottom“计算”的ID设置成IDC_BOTTOM_ADD。所以对象就选这个,然后是鼠标单击产生消息映射,所以“消息”这选择BN_CLICKED.

    类向导

  2. 对应控件右键-“添加事件处理程序”

    添加消息处理函数

  3. 属性-控件事件
  4. 双击控件

在消息处理函数中编写相应的程序:

void CDIALOGDlg::OnClickedButtonAdd(){    // TODO:  在此添加控件通知处理程序代码    // 将各控件中的数据保存到相应的变量        UpdateData(TRUE);    m_result = m_jiaShu + m_beiJiaShu;    // 根据各变量的值更新相应的控件    UpdateData(false);}

我们为三个编辑框添加了变量以后,在AdditionDlg.cpp中CAdditionDlg的DoDataExchange()函数的函数体中多了三条DDX_Text调用语句。

如果我们在程序运行界面中输入被加数,则通过CAddition的DoDataExchange()函数可以将输入的值保存到m_editSummand变量中,
反之如果程序运行中修改了变量m_editSummand的值,则通过CAddition的DoDataExchange()函数也可以将新的变量值显示到被加数的编辑框中。

但是这种数据交换机制中,DoDataExchange()并不是被自动调用的,而是需要我们在程序中调用CDialogEx::UpdateData()函数,由UpdateData()函数再去自动调用DoDataExchange()的。
CDialogEx::UpdateData()函数的原型为:
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
参数:bSaveAndValidate用于指示数据传输的方向,TRUE表示从控件传给变量,FALSE表示从变量传给数据。默认值是TRUE,即从控件传给变量。

运行示意图

原创粉丝点击