You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
2.4 KiB
C++

// 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);
}
}