MFC工控项目实例二十九主对话框调用子对话框设定参数值

在主对话框调用子对话框设定参数值,使用theApp变量实现。

子对话框各参数变量

CString m_strTypeName; CString m_strBrand; CString m_strRemark;

double m_edit_min; double m_edit_max;

double m_edit_time2;

double m_edit_time1;

double m_edit_time3;

DWORD m_edit_time4;

参考MFC工控项目实例二十七添加产品参数

1、在SEAL_PRESSURE.h中添加代码

cpp 复制代码
class CProductPara
{
public:
	union
	{
		struct
		{
			char	m_strTypeName[24];
			char	m_strBrand[24];			
			char	m_strRemark[64];
			double	m_edit_min;
            double	m_edit_max;
            double	m_edit_time1;
			double	m_edit_time2;
		    double	m_edit_time3;
			double	m_edit_time4;
		};
		char len[1024];
	};
};


class CSEAL_PRESSUREApp : public CWinApp
{
public:
	CSEAL_PRESSUREApp();
              
			CString   m_strTypeName;
            CString   m_strBrand;	
            CString   m_strRemark;
			double	m_edit_min;
            double	m_edit_max;
            double	m_edit_time1;
			double	m_edit_time2;
		    double	m_edit_time3;
			double	m_edit_time4;
...
}

2、在SEAL_PRESSURE.h中添加代码

cpp 复制代码
void CSEAL_PRESSUREDlg::OnTypeChange(UINT nID)
{
	theApp.m_nProductSel = nID - ID_DEF_PRODUCT+1;
	CWinApp* pApp = AfxGetApp();
    int i=pApp->WriteProfileInt("参数","nProductSel1",theApp.m_nProductSel);
    CString str = theApp.m_allPara[theApp.m_nProductSel].m_strTypeName;
    theApp.typ_name=theApp.m_DataPath+"\\"+str+"\\";
	 CreateDirectory(theApp.typ_name,FALSE);
	  
    theApp.m_strTypeName= theApp.m_allPara[theApp.m_nProductSel].m_strTypeName;
	theApp.m_strBrand= theApp.m_allPara[theApp.m_nProductSel].m_strBrand;
	theApp.m_strRemark= theApp.m_allPara[theApp.m_nProductSel].m_strRemark;
	theApp.m_edit_min= theApp.m_allPara[theApp.m_nProductSel].m_edit_min;
	theApp.m_edit_max= theApp.m_allPara[theApp.m_nProductSel].m_edit_max;
    theApp.m_edit_time1= theApp.m_allPara[theApp.m_nProductSel].m_edit_time1;
	theApp.m_edit_time2= theApp.m_allPara[theApp.m_nProductSel].m_edit_time2;
    theApp.m_edit_time1= theApp.m_allPara[theApp.m_nProductSel].m_edit_time1;
	theApp.m_edit_time2= theApp.m_allPara[theApp.m_nProductSel].m_edit_time2;
	theApp.m_edit_time3= theApp.m_allPara[theApp.m_nProductSel].m_edit_time3;
	theApp.m_edit_time4= theApp.m_allPara[theApp.m_nProductSel].m_edit_time4;
	SetDlgItemText(IDC_STATIC_TYPNAME,theApp.m_strTypeName);
   CString str1,str2;
	str1.Format("%3.2f",theApp.m_edit_min);
	str2.Format("%3.2f",theApp.m_edit_max);
	SetDlgItemText(IDC_STATIC100,str1);
	SetDlgItemText(IDC_STATIC102,str2);
	if (i!=0)
	{
	   m_TES_START.EnableWindow (1);
	}
    
}

运行程序

相关推荐
No0d1es6 小时前
电子学会青少年软件编程(C/C++)5级等级考试真题试卷(2024年6月)
c语言·c++·算法·青少年编程·电子学会·五级
DjangoJason8 小时前
C++ 仿RabbitMQ实现消息队列项目
开发语言·c++·rabbitmq
weixin_3077791310 小时前
VS Code配置MinGW64编译GNU 科学库 (GSL)
开发语言·c++·vscode·算法
蒋星熠12 小时前
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
网络·c++·人工智能·深度学习·性能优化·系统架构
CHANG_THE_WORLD12 小时前
# C++ 中的 `string_view` 和 `span`:现代安全视图指南
开发语言·c++
雨落倾城夏未凉12 小时前
9.c++new申请二维数组
c++·后端
雨落倾城夏未凉13 小时前
8.被free回收的内存是立即返还给操作系统吗?为什么?
c++·后端
雨落倾城夏未凉13 小时前
6.new和malloc的区别
c++·后端
郝学胜-神的一滴13 小时前
深入理解QFlags:Qt中的位标志管理工具
开发语言·c++·qt·程序人生
INS_KF14 小时前
【C++知识杂记2】free和delete区别
c++·笔记·学习