#pragma once #include "resource.h" #include "Globe.h" #include "../Include/8BMapDLL_type.h" using namespace B8MapDLL; class CFlyLineDesign: public CDialog { public: CFlyLineDesign(CWnd* pParent = NULL); // 标准构造函数 virtual ~CFlyLineDesign(); // 对话框数据 enum { IDD = IDD_DIALOG_FLYLINE_DESIGN}; public: //清除已有的航线数据,包括界面显示的数据 void ClearCurrentData(); //功能:增加新的航点 //输入:经度lon,纬度lat void AddPoint(const double lon, const double lat); //功能:增加新的航点 //输入:航点数据体ptStruct void AddPoint(const PtStruct ptStruct); //功能:移动对话框到给定的显示区域 void MoveToGivenArea(const CRect rcArea); //功能:编辑航点数据 //输入:经度lon,纬度lat void EditPoint(const double lon, const double lat); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 DECLARE_MESSAGE_MAP() private: double m_ptLon; //航点经度 double m_ptLat; //航点纬度 short m_ptAlt; //航点高度 BYTE m_flySpeed; //航点飞行速度 CComboBox m_comboPt; //航点编号 //当前的航点数据 PtStruct m_curPoint; //显示区域 CRect m_rcLineDesignArea; //是否增加新的航点 bool m_bAddNewPoint; //航线数据集合 PtStruct *m_pLinePts; //航线的航点个数 int m_linePtNums; //总的航点个数 int m_totalPtNums; //航路特征字 int m_ptCarctr; private: //初始化所有的变量 void InitiazeAllMembers(); //界面数据赋值 //输入:航点数据体pt void SetWindowMembersValue(const PtStruct pt); //功能:获得界面输入的数据 //输入:航点数据体pt //输出:航点数据体pt void GetWindowMembersValue(PtStruct &pt); //功能:往下拉列表框增加一行数据 //输入:点号pointID void InsertComboBox(const int pointID); public: afx_msg void OnAddFlyLinePoint(); afx_msg void OnEditFlyLinePoint(); afx_msg void OnDeleteFlyLinePoint(); afx_msg void OnSaveFlyLine(); virtual BOOL OnInitDialog(); afx_msg void OnCbnSelchangeComboPt(); afx_msg void OnBnClickedCancel(); };