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.
GCS-GISControlDlg-for-981A-.../SetSaveLineID.cpp

218 lines
4.6 KiB
C++

2 years ago
// SetSaveLineID.cpp : implementation file
#include "stdafx.h"
#include "SetSaveLineID.h"
#include "afxdialogex.h"
#include <iostream>
#include <cstdio>
#include <regex>
2 years ago
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSetSaveLineID dialog
CSetSaveLineID::CSetSaveLineID(CWnd* pParent /*=NULL*/)
: CBCGPDialog(CSetSaveLineID::IDD, pParent)
{
EnableVisualManagerStyle(TRUE, TRUE);
//{{AFX_DATA_INIT(CSetSaveLineID)
m_lineProperty = 1;
//}}AFX_DATA_INIT
m_strFlyLineName = _T("");
//<2F><><EFBFBD>߱<EFBFBD><DFB1><EFBFBD>
m_designLineID = 0;
m_LineHgt = 1500;
m_bCheck = false;
m_bClosedLine = 1;
}
void CSetSaveLineID::DoDataExchange(CDataExchange* pDX)
{
CBCGPDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSetSaveLineID)
DDX_Control(pDX, IDC_COMBO_LINEID, m_comboLineID);
DDX_Radio(pDX, IDC_RADIO_LINE, m_lineProperty);
DDX_Text(pDX, IDC_EDIT_LHGT, m_LineHgt);
//}}AFX_DATA_MAP
DDX_Control(pDX, IDC_COMBO_LINECE, m_LineCE);
//DDV_MinMaxDouble(pDX, m_LineHgt, 0.001, 99999.999);
DDX_Control(pDX, IDC_EDIT_LHGT, heightEdit);
2 years ago
}
BEGIN_MESSAGE_MAP(CSetSaveLineID, CBCGPDialog)
//{{AFX_MSG_MAP(CSetSaveLineID)
ON_CBN_SELCHANGE(IDC_COMBO_LINEID, OnSelchangeComboLineid)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, CSetSaveLineID::OnBnClickedOk)
//ON_BN_CLICKED(IDC_RADIO3, &CSetSaveLineID::OnBnClickedRadio3)
// ON_EN_CHANGE(IDC_EDIT_LHGT, &CSetSaveLineID::OnEnChangeEditLhgt)
2 years ago
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSetSaveLineID message handlers
void CSetSaveLineID::OnSelchangeComboLineid()
{
UpdateData(TRUE);
//<2F><><EFBFBD>߱<EFBFBD><DFB1><EFBFBD>
m_designLineID = m_comboLineID.GetCurSel()+1;
//2023.0616
////<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
//m_strFlyLineName = GetFlyLineName(m_designLineID);
//
////<2F>ж<EFBFBD><D0B6>ļ<EFBFBD><C4BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
/*if (SearchDirectory(m_strFlyLineName))
{
if ( BCGPMessageBox( "<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ񸲸ǣ<EFBFBD>", MB_ICONQUESTION + MB_YESNO ) == IDYES )
{*/
GetDlgItem(IDOK)->EnableWindow(TRUE);//2023.0616
//<2F><><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ѿ<EFBFBD><D1BE><EFBFBD>ʾ<EFBFBD><CABE>
if (g_viewHwnd != NULL)
{
::PostMessage(g_viewHwnd, WM_CHECK_FLY_LINE_STATUS, WPARAM(m_designLineID), 0);
}
//2023.0616
/*}
else
{
m_strFlyLineName = _T("");
GetDlgItem(IDOK)->EnableWindow(FALSE);
}
}
else
{
GetDlgItem(IDOK)->EnableWindow(TRUE);
}*/
//2023.0616
}
BOOL CSetSaveLineID::OnInitDialog()
{
CBCGPDialog::OnInitDialog();
CString str = _T("");
int i = 0;
for (i=0; i<5; ++i)
{
str.Format(_T("%d"), i+1);
m_comboLineID.InsertString(i, str);
}
m_comboLineID.InsertString(i, _T("Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
m_comboLineID.InsertString(i+1, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>"));
GetDlgItem(IDOK)->EnableWindow(FALSE);
m_LineCE.InsertString(0,_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
m_LineCE.InsertString(1,_T("<EFBFBD>պ<EFBFBD>"));
//GetDlgItem(IDC_RADIO3)->EnableWindow(TRUE);
if (g_b981CDesktop)
2 years ago
{
/*
((CButton *)GetDlgItem(IDC_RADIO3))->SetCheck(true);
m_bCheck = true;*/
m_LineCE.SetCurSel(1);
}
else
{
/*
((CButton *)GetDlgItem(IDC_RADIO3))->SetCheck(false);
m_bCheck = false;*/
m_LineCE.SetCurSel(0);
}
return TRUE; // return TRUE unless you set the focus to a control
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
}
void CSetSaveLineID::OnBnClickedOk()
{
//<2F><><EFBFBD>߱<EFBFBD><DFB1><EFBFBD>
//m_designLineID = m_comboLineID.GetCurSel()+1;
m_designLineID = GetLineID();
m_bClosedLine = m_LineCE.GetCurSel();
// <20>жϸ߶<CFB8><DFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ч. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD><35><CEBB><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-3λ<33><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string str = "^\\d{0,5}(\\.\\d{1,2})?$";
regex heightCheck(str);
CString strHeight;
heightEdit.GetWindowTextA(strHeight);
char* temp = strHeight.GetBuffer(strHeight.GetLength());
string asHeight = temp;
bool isNumber = regex_match(asHeight,heightCheck);
if(!isNumber){
BCGPMessageBox("<EFBFBD>߶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-99999.99֮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
return;
}
2 years ago
CBCGPDialog::OnOK();
}
/*
void CSetSaveLineID::OnBnClickedRadio3()
{
if (!m_bCheck)
{
((CButton *)GetDlgItem(IDC_RADIO3))->SetCheck(true);
m_bCheck = true;
}
else
{
((CButton *)GetDlgItem(IDC_RADIO3))->SetCheck(false);
m_bCheck = false;
}
}*/
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ID
int CSetSaveLineID::GetLineID()
{
CString str;
m_comboLineID.GetWindowTextA(str);
if (g_b981ADesktop || g_b981APad)
{
if (str=="Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
{
return 11;
}
else if (str=="<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>")
{
return 12;
}
else
{
return _ttoi(str);
}
}
if (g_b981CDesktop)
2 years ago
{
if (str=="Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
{
return 7;
}
else if (str=="<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><EFBFBD>")
{
return 6;
}
else
{
return _ttoi(str);
}
}
}