#include "stdafx.h" #include "XGBGDlg.h" IMPLEMENT_DYNAMIC(CXGBGDlg, CDialog) CXGBGDlg::CXGBGDlg(CWnd* pParent /*=NULL*/) : CDialog(CXGBGDlg::IDD, pParent) , m_fEl(0) , m_dDownPer(2.0) , m_bMeter(FALSE) { m_nPos = 0; m_sTitle = _T(""); m_bHasDownEl = FALSE; } CXGBGDlg::~CXGBGDlg() { } void CXGBGDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_fEl); DDX_Control(pDX, IDC_STATIC_TITLE, m_wndTitle); DDX_Control(pDX, IDC_EDIT3, m_wndEditDown); DDX_Control(pDX, IDC_STATIC_P, m_wndStaPDown); DDX_Text(pDX, IDC_EDIT3, m_dDownPer); DDX_Radio(pDX, IDC_RADIO1, m_bMeter); DDX_Control(pDX, IDC_STATIC_GRP, m_ctrlGroupBox); DDX_Control(pDX, IDC_RADIO1, m_ctrlRadio1); DDX_Control(pDX, IDC_RADIO2, m_ctrlRadio2); } BEGIN_MESSAGE_MAP(CXGBGDlg, CDialog) ON_BN_CLICKED(IDOK, &CXGBGDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_RADIO1, &CXGBGDlg::OnBnClickedRadio1) ON_BN_CLICKED(IDC_RADIO2, &CXGBGDlg::OnBnClickedRadio1) END_MESSAGE_MAP() void CXGBGDlg::OnBnClickedOk() { UpdateData(); OnOK(); } BOOL CXGBGDlg::OnInitDialog() { CDialog::OnInitDialog(); if (m_sTitle.IsEmpty()) { if (m_nPos == 0) { m_wndTitle.SetWindowText(_T("起点标高:")); SetWindowText(_T("起点标高:")); } else { m_wndTitle.SetWindowText(_T("终点标高:")); SetWindowText(_T("终点标高:")); } } else { m_wndTitle.SetWindowText(m_sTitle); SetWindowText(m_sTitle); } if (m_bHasDownEl)// { m_wndEditDown.ShowWindow(SW_SHOW); m_wndStaPDown.ShowWindow(SW_SHOW); m_ctrlGroupBox.ShowWindow(SW_SHOW); m_ctrlRadio1.ShowWindow(SW_SHOW); m_ctrlRadio1.ShowWindow(SW_SHOW); m_ctrlRadio2.ShowWindow(SW_SHOW); m_ctrlRadio2.ShowWindow(SW_SHOW); m_wndEditDown.EnableWindow(TRUE); m_wndStaPDown.EnableWindow(TRUE); m_ctrlRadio1.EnableWindow(TRUE); m_ctrlRadio1.EnableWindow(TRUE); m_ctrlRadio2.EnableWindow(TRUE); m_ctrlRadio2.EnableWindow(TRUE); } else { m_wndEditDown.ShowWindow(SW_HIDE); m_wndStaPDown.ShowWindow(SW_HIDE); m_ctrlGroupBox.ShowWindow(SW_HIDE); m_ctrlRadio1.ShowWindow(SW_HIDE); m_ctrlRadio1.ShowWindow(SW_HIDE); m_ctrlRadio2.ShowWindow(SW_HIDE); m_ctrlRadio2.ShowWindow(SW_HIDE); m_wndEditDown.EnableWindow(FALSE); m_wndStaPDown.EnableWindow(FALSE); m_ctrlRadio1.EnableWindow(FALSE); m_ctrlRadio1.EnableWindow(FALSE); m_ctrlRadio2.EnableWindow(FALSE); m_ctrlRadio2.EnableWindow(FALSE); } UpdateData(FALSE); OnBnClickedRadio1(); return TRUE; } void CXGBGDlg::OnBnClickedRadio1() { UpdateData(TRUE); m_wndStaPDown.SetWindowText(m_bMeter ? _T("米") : _T("%")); }