📄 gmgsanalysewnd.h
字号:
#if !defined(AFX_GMGSANALYSEWND_H__14699508_CF85_4FD6_8AED_9D6120C9818E__INCLUDED_)
#define AFX_GMGSANALYSEWND_H__14699508_CF85_4FD6_8AED_9D6120C9818E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// GmgsAnalyseWnd.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CGmgsAnalyseWnd window
#include "WndEx.h"
#include "CurveArray.h"
#include "GMGDataManager.h"
#include "LayerRectArray.h"
#include "RoadArray.h"
#include "MeanLineArray.h"
#include "RectLineArray.h"
#include "DepScaleUnit.h"
#include "ContinueCurveUnit.h"
#include "ButtomArray.h"
#include "ColorArray.h"
#include "LineUnit.h"
enum INTERPRET_MODE
{
INTERPRET_NULL,
INTERPRET_COARSE,
INTERPRET_FINE
};
class CGmgsAnalyseWnd : public CWndEx
{
private:
//定义鼠标的信息。
BOOL m_bLeftDown;
BOOL m_bMove;
BOOL m_bDrag;
CPoint m_ptPrev; // 记下当前点的位置
CPoint m_ptOrg; // 记下上次点的位置
int m_nInterpretIndex;
CPoint m_ptInterpretPrev;
CPoint m_ptInterpretOrg;
CLineUnit m_interpretLine;
BOOL m_bHaveData;
BOOL m_bInterpret;
BOOL m_bInterpretCoarse;
BOOL m_bInterpretFine;
//定义是进行了延拓
BOOL m_bContinue;
int m_nInterpretMode;
int m_nMeanMethod;
CDC m_memDC;
CBitmap m_bmp;
public:
CRoadArray m_arrRoad;
CButtomArray m_arrButtom;
CColorArray m_arrColor;
CMeanLineArray m_arrMeanLine;
CRectLineArray m_arrRectLine;
CLayerRectArray m_arrOrgLayer;
CLayerRectArray m_arrIntLayer;
CLayerRectArray m_arrInvLayer;
CCurveArray m_arrCurve;
CDepScaleUnit m_depScaleUnit;
//延拓部分的实例化对象
CContinueCurveUnit m_arrCurveContinue[5];
CDepScaleUnit m_depScaleUnitContinue;
CMeanLineArray m_arrMeanLineContinue;
CRectLineArray m_arrRectLineContinue;
CLayerRectArray m_arrOrgLayerContinue;
CLayerRectArray m_arrIntLayerContinue;
CLayerRectArray m_arrInvLayerContinue;
public:
void ReadData(); // 加载数据及一些初始化的设置
void ReDraw(); // 将在内存中画好的图象在视窗内进行更新
void Plot(); // 进行绘图
void DrawMapInMem(CDC* pDC); //在内存DC中绘图
void CreateMemDC(int nWidth,int nHeight);
public:
// 下面是一些解释功能函数
void ContinuationWellCurve();
void SetInterpret(BOOL b);
void SetInterpretCoarse(BOOL b); //设置是否粗略解释
void SetInterpretFine(BOOL b); //设置是否精细解释
BOOL GetIsInterpretCoarse();// 得到是否在进行粗略解释
BOOL GetIsInterpretFine();//得到是否在进行精细解释
BOOL GetIsHaveData();
BOOL GetIsContinue();
void OnMsg(CString str);
void ReStartInterpretLayer();
void DeleteLayer(); // 删除一个层位
void InsertLayer(); //插入层位
void MoveMeanLine(); // 移动平均值线
void MoveLayerLine();// 移动层位线
void ReAddLayerLine(); // 根据层位数据重新设置层位线
void ReLoadInterpretMeanLineData();//根据层位数据进行平均值线生成
void SetMeanCalculateMothed(int nMethod);
void SetInterpretMode(int nMode);
int GetInterpretMode();
void UndoInterpret();
void SaveInterLayerData(CString strFileName);
// Construction
public:
CGmgsAnalyseWnd();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGmgsAnalyseWnd)
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CGmgsAnalyseWnd();
// Generated message map functions
protected:
//{{AFX_MSG(CGmgsAnalyseWnd)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnPaint();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
afx_msg void OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_GMGSANALYSEWND_H__14699508_CF85_4FD6_8AED_9D6120C9818E__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -