VS 一个MFC中有多个对话框的数据刷新问题

本文最后要达到的效果如下(是在一次运行程序中完成)

VS 一个MFC中有多个对话框的数据刷新问题_第1张图片        VS 一个MFC中有多个对话框的数据刷新问题_第2张图片

VS 一个MFC中有多个对话框的数据刷新问题_第3张图片          VS 一个MFC中有多个对话框的数据刷新问题_第4张图片

步骤如下:

1.首先参看我的以前的一篇“VS中tab控件的使用”创建如下的界面。

VS 一个MFC中有多个对话框的数据刷新问题_第5张图片

2.在A对话框上建立一个静态文本框“A:”和一个文本编辑框“IDC_EDIT_A”,并为文本编辑框关联变量m_A.

VS 一个MFC中有多个对话框的数据刷新问题_第6张图片

VS 一个MFC中有多个对话框的数据刷新问题_第7张图片

3.在B对话框中建立如下的界面,并将上面一个文本编辑框修改ID为“IDC_EDIT_B”,下面一个文本编辑框ID为“IDC_EDIT_RES”,并为他们关联变量“m_B”和“m_RES”

VS 一个MFC中有多个对话框的数据刷新问题_第8张图片

VS 一个MFC中有多个对话框的数据刷新问题_第9张图片

4.在B.cpp文件中包含#include “TabDlg.h”头文件

VS 一个MFC中有多个对话框的数据刷新问题_第10张图片

5.为B对话框中的按钮控件添加消息响应函数,并添加如下代码

	// TODO: 在此添加控件通知处理程序代码
	UpdateData(true);
	CTabDlg *dlg=(CTabDlg *)GetTopLevelParent();
    CA *m_Ytoolparameters=&(dlg->m_ADlg);
	//刷新数据
    if(m_Ytoolparameters->UpdateData()==FALSE)		return;
	double A;
	A=m_Ytoolparameters->m_A;  //获取对话框A中的数据
	m_RES=A+m_B;
	UpdateData(false);

其中:CTabDlg就是主对话框,CA,m_ADlg就是在TabDlg.h中包含两个对话框界面的对话框的类名和关联名。

VS 一个MFC中有多个对话框的数据刷新问题_第11张图片

你可能感兴趣的:(VS)