#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