VC++开发GIS系统(150)输入线之类设计

前文已经实现了新建线文件的相关工作,下面先设计一个输入线文件的类,用于实现输入线的功能。

类的定义

在_malaLines.h中定义下面的类

/*
*输入线
*/
class malalinesdll  CmalaLinesInput : public CmalaMouseAction
{
public:
    CmalaLinesInput(CView* mView, malaScreen *pScreen, CString &fileFullPath);
    ~CmalaLinesInput();
    void LButtonDown(UINT nFlags, malaPoint point);
    void RButtonDown(UINT nFlags, malaPoint point);
    void MouseMove(UINT nFlags, malaPoint point);
    void GetLinePro();//获取线的属性
private:
    bool m_bDraw;
    malaPoint m_PtOrigin; //起点
    malaPoint m_PerPoint; //临时点
    malaLinePro m_LinePro;//线属性
    vector<malaPoint>m_Line;//线

    malaScreen *mScreen;
    CString mPath;//文件路径
};

其中起点和临时点用于绘制橡皮筋线,m_LinePro记录下线的相关属性(在文章《VC++开发GIS系统(145)基本GIS系统中线单元的结构体》中介绍过),m_Line用于记录下所绘制的线,GetLinePro用于弹出对话框设置线的属性,会在后文介绍。

详细代码可以参考:GitHub

VC++开发GIS系统(149)新建线文件之菜单响应 VC++开发GIS系统(151)输入线之设置线属性对话框

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论