// SaveZoneDlg.cpp : 实现文件 // #include "stdafx.h" #include "SaveZoneDlg.h" #include "afxdialogex.h" // SaveZoneDlg 对话框 IMPLEMENT_DYNAMIC(CSaveZoneDlg, CBCGPDialog) CSaveZoneDlg::CSaveZoneDlg(CWnd* pParent /*=NULL*/) : CBCGPDialog(CSaveZoneDlg::IDD, pParent) { EnableVisualManagerStyle(TRUE, TRUE); g_Height = 0; g_ZoneID = 1; g_ZoneType = 0; } CSaveZoneDlg::~CSaveZoneDlg() { } void CSaveZoneDlg::DoDataExchange(CDataExchange* pDX) { CBCGPDialog::DoDataExchange(pDX); DDX_Control(pDX, IDC_COMBO_ZONETYPE, m_ZoneType); DDX_Control(pDX, IDC_COMBO_ZONEID, m_ZoneID); DDX_Control(pDX, IDC_EDIT_HEIGHT, m_EditHeight); } BEGIN_MESSAGE_MAP(CSaveZoneDlg, CBCGPDialog) ON_BN_CLICKED(IDOK, &CSaveZoneDlg::OnBnClickedOk) ON_BN_CLICKED(IDCANCEL, &CSaveZoneDlg::OnBnClickedCancel) ON_CBN_SELCHANGE(IDC_COMBO_ZONETYPE, &CSaveZoneDlg::OnCbnSelchangeComboZonetype) END_MESSAGE_MAP() BOOL CSaveZoneDlg::OnInitDialog() { CBCGPDialog::OnInitDialog(); CenterWindow(); m_ZoneType.InsertString(0, _T("限飞区") ); m_ZoneType.InsertString(1, _T("禁飞区") ); m_ZoneType.SetCurSel(0); CString cstr; for(int i=0;i<5;i++) { cstr.Format(_T("%d"), i+1); m_ZoneID.InsertString(i, cstr ); } m_ZoneID.SetCurSel(0); m_EditHeight.SetWindowTextA("120"); return TRUE; } // SaveZoneDlg 消息处理程序 void CSaveZoneDlg::OnBnClickedOk() { CString strValue; GetDlgItemText(IDC_EDIT_HEIGHT, strValue); double height = atof(strValue); if(height <10 || height>300) { BCGPMessageBox( _T( "限飞高度值在10-300m之间!")); return; } g_Height = height; g_ZoneType = ( ( CComboBox * ) GetDlgItem( IDC_COMBO_ZONETYPE ) )->GetCurSel(); g_ZoneID = ( ( CComboBox * ) GetDlgItem( IDC_COMBO_ZONEID ) )->GetCurSel() + 1; if (g_ZoneType == 1) g_Height=0; this->OnOK(); } void CSaveZoneDlg::OnBnClickedCancel() { // TODO: 在此添加控件通知处理程序代码 this->OnCancel(); } int CSaveZoneDlg::GetZoneType() { return g_ZoneType; } int CSaveZoneDlg::GetZoneID() { return g_ZoneID; } double CSaveZoneDlg::GetHeight() { return g_Height; } void CSaveZoneDlg::OnCbnSelchangeComboZonetype() { CString str; GetDlgItem(IDC_COMBO_ZONETYPE)->GetWindowText(str); if(str == "禁飞区") { GetDlgItem(IDC_EDIT_HEIGHT)->EnableWindow(FALSE); } else { GetDlgItem(IDC_EDIT_HEIGHT)->EnableWindow(true); } }