Files
envi-code/SourceCode/Code2026/tg_shs/shs_siteplan/DrawRoadDlg.h
T
2026-09-28 15:28:50 +08:00

74 lines
2.0 KiB
C++

#ifndef _DRAWROADDLG_H_
#define _DRAWROADDLG_H_
#if _MSC_VER > 1000
#pragma once
#endif
#include "Resource.h"
#include "commonRoad.h"
// 关于对话框数据与RoadDrag数据的交互:
// 对话框中保存相关的绘制数据,但是并不出发Drag的改变。
// Drag在自己适当的时候,查询对话框中的数据,以适应数据的修改。
class CDrawRoadDlg : public CModelessDialog
{
public:
CDrawRoadDlg(CWnd* pParent = NULL);
virtual ~CDrawRoadDlg();
// 定位线类型,基线,左线,右线
enum EPositionLineType {eBaseLine = 0, eLeftLine, eRightLine};
//{{AFX_DATA(CDrawRoadDlg)
enum { IDD = IDD_DLG_DRAWROAD };
double m_dLeftWidth; // 左宽
double m_dRightWidth; // 右宽
double m_dChamferRadius; // 倒角半径
static BOOL m_bDrawCenLine; // 是否存在中心线
static BOOL m_bChamfer; // 是否倒角
static int m_iPositionLineStyle; // 基线的类型,基线定位?左边线定位?右边线定位?三种情况
static int m_iFilletStyle;// 倒角类型
//}}AFX_DATA
// 从这里取到的都是mm数据
double GetLeftWidthMM(); // 左宽
double GetRightWidthMM(); // 右宽
double GetCharmRadiusMM() ; // 倒角半径
double GetLeftWidthSys(); // 左宽
double GetRightWidthSys(); // 右宽
double GetCharmRadiusSys() ; // 倒角半径
BOOL IsFillet() {return m_bChamfer;} // 是否倒角
BOOL IsDrawMidLine() {return m_bDrawCenLine;} // 是否绘制中心线
EPositionLineType PositionLineStyle() ; // 定位线的方式
EFilletStyle FilletStyle(); // 倒角方式
void InitialDatas(); // 初始化显示出来的长度数据
void SetCharmerBtnState(BOOL bEnable);
void SetCmdNum(int nNum){m_nCmdNum = nNum;}
//{{AFX_VIRTUAL(CDrawRoadDlg)
protected:
virtual BOOL OnInitDialog();
virtual void DoDataExchange(CDataExchange* pDX);
//}}AFX_VIRTUAL
//{{AFX_MSG(CDrawRoadDlg)
afx_msg void OnBnClickedChkCharmfer();
afx_msg void OnClose();
afx_msg void OnDestroy();
afx_msg void OnEnKillfocusEdtChamferRadius();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
// 固定的以毫米为单位的数据。
static double m_dLeftWidthMM; // 左宽
static double m_dRightWidthMM; // 右宽
static double m_dChamferRadiusMM; // 倒角半径
// 对话框关闭的时候,发送命令退出消息的次数
int m_nCmdNum;
};
#endif