#include "stdafx.h" #include "HydrantCalcDlg.h" IMPLEMENT_DYNAMIC(CHydrantCalcDlg, CDialog) CHydrantCalcDlg::CHydrantCalcDlg(CWnd* pParent) : CDialog(IDD_DLG_HYDRANT, pParent) , m_sSD_L(_T("20")) , m_sSD_M(_T("ÂéÖ¯")) , m_sSD_D(_T("65")) , m_sSQ_D(_T("19")) , m_sXHS_W(_T("5")) , m_sSZ_L(_T("10")) , m_dSD_L(.0) , m_dSD_D(.0) , m_dSQ_D(.0) , m_dXHS_W(.0) , m_dSZ_L(.0) , m_iCondition(0) , m_dRelL(0) , m_dRelP(0) , m_dRelR(0) { } CHydrantCalcDlg::~CHydrantCalcDlg() { } void CHydrantCalcDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_CBString(pDX, IDC_CMB_SLD_L, m_sSD_L); DDX_CBString(pDX, IDC_CMB_SLD_M, m_sSD_M); DDX_CBString(pDX, IDC_CMB_SLD_D, m_sSD_D); DDX_CBString(pDX, IDC_CMB_SQ_D, m_sSQ_D); DDX_CBString(pDX, IDC_CMB_XHS_W, m_sXHS_W); DDX_CBString(pDX, IDC_CMB_SZ_L, m_sSZ_L); DDX_Radio(pDX, IDC_RADIO_XHS_W, m_iCondition); DDX_Text(pDX, IDC_EDT_W, m_dRelL); DDX_Text(pDX, IDC_EDT_P, m_dRelP); DDX_Text(pDX, IDC_EDT_D, m_dRelR); if (pDX->m_bSaveAndValidate) { m_dSD_L = TypeConvert::s2d(m_sSD_L); m_dSD_D = TypeConvert::s2d(m_sSD_D); m_dSQ_D = TypeConvert::s2d(m_sSQ_D); m_dXHS_W = TypeConvert::s2d(m_sXHS_W); m_dSZ_L = TypeConvert::s2d(m_sSZ_L); } } BOOL CHydrantCalcDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); OnBnClickedRadioXhsW(); return TRUE; } BEGIN_MESSAGE_MAP(CHydrantCalcDlg, CDialog) ON_BN_CLICKED(IDOK, &CHydrantCalcDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_RADIO_XHS_W, &CHydrantCalcDlg::OnBnClickedRadioXhsW) ON_BN_CLICKED(IDC_RADIO_SZ_L, &CHydrantCalcDlg::OnBnClickedRadioXhsW) ON_BN_CLICKED(IDCANCEL, &CHydrantCalcDlg::OnBnClickedCancel) END_MESSAGE_MAP() void CHydrantCalcDlg::OnBnClickedOk() { if (UpdateData(TRUE)) return; if (m_iCondition == 0) { } else { } UpdateData(FALSE); } void CHydrantCalcDlg::OnBnClickedRadioXhsW() { UpdateData(TRUE); CWnd *pWnd(NULL); if (m_iCondition == 0) { pWnd = GetDlgItem(IDC_CMB_XHS_W); if (pWnd) pWnd->EnableWindow(TRUE); pWnd = GetDlgItem(IDC_CMB_SZ_L); if (pWnd) pWnd->EnableWindow(FALSE); } else { pWnd = GetDlgItem(IDC_CMB_XHS_W); if (pWnd) pWnd->EnableWindow(FALSE); pWnd = GetDlgItem(IDC_CMB_SZ_L); if (pWnd) pWnd->EnableWindow(TRUE); } } void CHydrantCalcDlg::OnBnClickedCancel() { CDialog::OnOK(); }