From 406e5e24bf263cdd8dcaad2b4343264755457d6b Mon Sep 17 00:00:00 2001 From: zhaipx Date: Mon, 4 Dec 2023 16:02:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=88=AA=E7=BA=BF=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=97=B6=E5=A2=9E=E5=8A=A0=E9=AB=98=E5=BA=A6=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ModifyLinePointDlg.cpp | 1 + SetSaveLineID.cpp | 22 +++++++++++++++++++--- SetSaveLineID.h | 9 ++++++++- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/ModifyLinePointDlg.cpp b/ModifyLinePointDlg.cpp index 57b464a..6362e1b 100644 --- a/ModifyLinePointDlg.cpp +++ b/ModifyLinePointDlg.cpp @@ -8,6 +8,7 @@ #include "string" #include #include +#include // CModifyLinePointDlg 对话框 diff --git a/SetSaveLineID.cpp b/SetSaveLineID.cpp index c308eae..0f40a3a 100644 --- a/SetSaveLineID.cpp +++ b/SetSaveLineID.cpp @@ -1,16 +1,17 @@ // SetSaveLineID.cpp : implementation file -// #include "stdafx.h" #include "SetSaveLineID.h" - +#include "afxdialogex.h" +#include +#include +#include #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif - ///////////////////////////////////////////////////////////////////////////// // CSetSaveLineID dialog @@ -45,6 +46,8 @@ void CSetSaveLineID::DoDataExchange(CDataExchange* pDX) 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); } @@ -54,6 +57,7 @@ BEGIN_MESSAGE_MAP(CSetSaveLineID, CBCGPDialog) //}}AFX_MSG_MAP ON_BN_CLICKED(IDOK, CSetSaveLineID::OnBnClickedOk) //ON_BN_CLICKED(IDC_RADIO3, &CSetSaveLineID::OnBnClickedRadio3) +// ON_EN_CHANGE(IDC_EDIT_LHGT, &CSetSaveLineID::OnEnChangeEditLhgt) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// @@ -144,6 +148,18 @@ void CSetSaveLineID::OnBnClickedOk() m_designLineID = GetLineID(); m_bClosedLine = m_LineCE.GetCurSel(); + // 判断高度输入是否有效. 整数部分不超过5位数,小数点后1-3位,正数 + 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("高度设置不合法,请输入0-99999.99之间的数字"); + return; + } CBCGPDialog::OnOK(); } diff --git a/SetSaveLineID.h b/SetSaveLineID.h index 215706d..b57e949 100644 --- a/SetSaveLineID.h +++ b/SetSaveLineID.h @@ -6,9 +6,12 @@ #endif // _MSC_VER > 1000 // SetSaveLineID.h : header file // +#include "Resource.h" #include "Globe.h" -#include "resource.h" #include "afxwin.h" +#include "angle.h" +#include +#include class CSetSaveLineID : public CBCGPDialog { @@ -59,8 +62,12 @@ private: bool m_bCheck; int GetLineID();//获取航线ID + public: CBCGPComboBox m_LineCE; +// afx_msg void OnEnChangeEditLhgt(); + // 航线高度文本框 + CEdit heightEdit; }; //{{AFX_INSERT_LOCATION}}