MFC工控项目实例之三theApp变量传递对话框参数

承接专栏《MFC工控项目实例之二主菜单制作》

用theApp变量传递对话框参数实时改变iPlotX坐标轴最小值、最大值。

1、新建IDD_SYS_DATA对话框,类名SYS_DATA。

三个编辑框IDC_EDIT1、IDC_EDIT2、IDC_EDIT3变量如图

2、SEAL_PRESSURE.h中添加代码

cpp 复制代码
#include "resource.h"		// main symbols
typedef struct sys_para
{
	union
	{
		struct
		{
		double	m_fMaxTime;
double	m_fMinTime;
double	m_fMaxPressure;
double	m_fMinPressure;				
				
		};
		char len1[4096];
	};

}SYS_PARA;


class CSEAL_PRESSUREApp : public CWinApp
{
public:
	CSEAL_PRESSUREApp();
    SYS_PARA m_sys_data;
	public:
	virtual BOOL InitInstance();
	DECLARE_MESSAGE_MAP()
};

extern class CSEAL_PRESSUREApp theApp;

3、SEAL_PRESSUREDlg.h中添加代码

cpp 复制代码
public:
void iPlotX_SHOW();

4、SYS_DATA.cpp中添加代码

cpp 复制代码
void SYS_DATA::OnOK() 
{
	// TODO: Add extra validation here	
	if(!UpdateData())
		return;
	CDialog::OnOK();
    theApp.m_sys_data.m_fMaxTime=m_fMaxTime;
	theApp.m_sys_data.m_fMinPressure=m_fMinPressure;
	theApp.m_sys_data.m_fMaxPressure=m_fMaxPressure;
}

5、SEAL_PRESSUREDlg.cpp中添加代码

cpp 复制代码
#include "SEAL_PRESSURE.h"
#include "SEAL_PRESSUREDlg.h"
#include "SYS_DATA.h"
#include "iplotchannelx.h"
#include "iPlotAxisX.h"
void CSEAL_PRESSUREDlg::iPlotX_SHOW() 
{
	// TODO: Add your control notification handler code here
	CiPlotAxisX axis;		
		axis = m_ctrlPlot_1.GetXAxis(0);
		axis.SetMin(0);
		axis.SetSpan(theApp.m_sys_data.m_fMaxTime);
		axis = m_ctrlPlot_1.GetYAxis(0);
		axis.SetMin(theApp.m_sys_data.m_fMinPressure);
		axis.SetSpan(theApp.m_sys_data.m_fMaxPressure - theApp.m_sys_data.m_fMinPressure);

}

void CSEAL_PRESSUREDlg::OnSysData() 
{
	
 SYS_DATA dlg;
	if(dlg.DoModal() == IDOK)
	{
		iPlotX_SHOW();
		Invalidate();
	}
}

运行程序

相关推荐
一匹电信狗4 分钟前
【C++】手搓AVL树
服务器·c++·算法·leetcode·小程序·stl·visual studio
秋空樱雨20 分钟前
C++入门
开发语言·c++
咬_咬40 分钟前
C++仿mudo库高并发服务器项目:Buffer模块
服务器·开发语言·c++·缓冲区·buffer·muduo库
敲代码的瓦龙1 小时前
西邮移动应用开发实验室2025年二面题解
开发语言·c++·算法
晚风残1 小时前
【C++ Primer】第十七章:标准库特殊设施
开发语言·c++
qq_433554542 小时前
C++ 双向循环链表
开发语言·c++·链表
Larry_Yanan2 小时前
QML学习笔记(四十六)QML与C++交互:Q_PROPERTY宏映射
c++·笔记·qt·学习·ui·交互
再睡一夏就好2 小时前
【C++闯关笔记】深究继承
java·数据结构·c++·stl·学习笔记
mjhcsp3 小时前
C++ char 类型深度解析:字符与字节的双重身份
开发语言·c++·char
jikiecui4 小时前
信奥崔老师:实数型: float、double
c++·算法