在主对话框调用子对话框设定参数值,使用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中添加代码
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中添加代码
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);}}
运行程序