#include "stdafx.h" #include "TJXGDlg.h" #include "uihistory.h" IMPLEMENT_DYNAMIC(CTJXGDlg, CDialog) CTJXGDlg::CTJXGDlg(CWnd* pParent /*=NULL*/) : CDialog(CTJXGDlg::IDD, pParent) , m_dLastEl(0) , m_dNewEl(0) , m_bElType(0) , m_dPD(0) { GET_CACHE(CTJXGDlg , %f%f%d%f , &m_dLastEl , &m_dNewEl , &m_bElType , &m_dPD ); } CTJXGDlg::~CTJXGDlg() { } void CTJXGDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_dLastEl); DDX_Text(pDX, IDC_EDIT2, m_dNewEl); DDX_Text(pDX, IDC_EDIT3, m_dPD); DDX_Radio(pDX,IDC_RADIO1,m_bElType); } BEGIN_MESSAGE_MAP(CTJXGDlg, CDialog) ON_BN_CLICKED(IDOK, &CTJXGDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_RADIO1, &CTJXGDlg::OnBnClickedRadio1) ON_BN_CLICKED(IDC_RADIO2, &CTJXGDlg::OnBnClickedRadio2) END_MESSAGE_MAP() BOOL CTJXGDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(FALSE); if (m_bElType) { GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE); } else { GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE); GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE); } return TRUE; } void CTJXGDlg::OnBnClickedOk() { UpdateData(); SET_CACHE(CTJXGDlg , %f%f%d%f , m_dLastEl , m_dNewEl , m_bElType , m_dPD); OnOK(); } int CTJXGDlg::GetStartAndEndEl(AcGePoint2d &ptSEEl) const { if (m_bElType)//坡度 { ptSEEl.x = m_dLastEl; ptSEEl.y = m_dPD; } else//起始 { ptSEEl.x = m_dLastEl; ptSEEl.y = m_dNewEl; } return m_bElType; } void CTJXGDlg::OnBnClickedRadio1() { UpdateData(); if (m_bElType) { GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE); } else { GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE); GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE); } } void CTJXGDlg::OnBnClickedRadio2() { UpdateData(); if (m_bElType) { GetDlgItem(IDC_EDIT2)->EnableWindow(FALSE); GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE); } else { GetDlgItem(IDC_EDIT2)->EnableWindow(TRUE); GetDlgItem(IDC_EDIT3)->EnableWindow(FALSE); } }