#include "stdafx.h" #include "JJSKDlg.h" IMPLEMENT_DYNAMIC(CJJSKDlg, CDialog) DLLIMPEXP CString IDCreate(); CJJSKDlg::CJJSKDlg(CWnd* pParent/* = NULL*/) : CDialog(CJJSKDlg::IDD, pParent) ,m_dL(800) ,m_dW(800) ,m_dH(800) , m_sNo(_T("")) , m_dAngle(22.5) , m_dT(200.0) , m_bNOSetDefault(FALSE) { GET_CACHE(CJJSKDlg , %f%f%f%f , &m_dL , &m_dW , &m_dH , &m_dAngle , &m_dT); static int nNo = 1; m_sNo.Format(_T("WELL-K-%d"),nNo); nNo++; if (m_bNOSetDefault) m_sNo = IDCreate(); } CJJSKDlg::~CJJSKDlg(void) { } void CJJSKDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_dL); DDX_Text(pDX, IDC_EDIT2, m_dW); DDX_Text(pDX, IDC_EDIT3, m_dH); DDX_Text(pDX, IDC_EDIT8, m_sNo); DDX_Text(pDX, IDC_EDIT12, m_dAngle); DDX_Text(pDX, IDC_EDIT13, m_dT); DDX_Check(pDX, IDC_CHECK6, m_bNOSetDefault); } BEGIN_MESSAGE_MAP(CJJSKDlg, CDialog) ON_BN_CLICKED(IDOK, &CJJSKDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_CHECK6, &CJJSKDlg::OnBnClickedCheck6) END_MESSAGE_MAP() BOOL CJJSKDlg::OnInitDialog() { CDialog::OnInitDialog(); if (m_bNOSetDefault) { GetDlgItem(IDC_EDIT8)->EnableWindow(FALSE); } UpdateData(FALSE); return TRUE; } void CJJSKDlg::OnBnClickedOk() { UpdateData(); if (m_dAngle > 75 || m_dAngle < -1.e-5) { AfxMessageBox(_T("请检查坑的角度!(0 <= A < 75 度)")); return; } if (m_dT < 1.0 || m_dL < 1.0 || m_dW < 1.0) { AfxMessageBox(_T("请检查积水坑尺寸参数!")); return; } SET_CACHE(CJJSKDlg , %f%f%f%f , m_dL , m_dW , m_dH , m_dAngle , m_dT); OnOK(); } void CJJSKDlg::OnBnClickedCheck6() { if (m_bNOSetDefault) { GetDlgItem(IDC_EDIT8)->EnableWindow(FALSE); } else { GetDlgItem(IDC_EDIT8)->EnableWindow(TRUE); } }