⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 viewactionedittool.h

📁 最小二乘法(least squares analysis)是一种 数学 优化 技术
💻 H
字号:
// ViewActionEditTool.h: interface for the CViewActionEditTool class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VIEWACTIONEDITTOOL_H__5A668661_FFC8_4111_B7DC_BED628F74414__INCLUDED_)
#define AFX_VIEWACTIONEDITTOOL_H__5A668661_FFC8_4111_B7DC_BED628F74414__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ViewActionBase.h"

#define MAX_SEL_POINTS 8000		//任意区域选择所支持的最大多点数
enum EditToolOption
{
	EDITTOOLSELECTRECT,
	EDITTOOLSELECTANY,
	EDITTOOLNOTHING,
};

class CViewActionEditTool : public CViewActionBase  
{
public:
	CViewActionEditTool();
	virtual ~CViewActionEditTool();
	
	virtual void OnLButtonDown(UINT nFlags, CPoint point);
	virtual void OnLButtonUp(UINT nFlags, CPoint point);
	virtual void OnLButtonDblClk(UINT nFlags, CPoint point);
	virtual void OnMouseMove(UINT nFlags, CPoint point);
	virtual BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
	virtual void OnRButtonDown(UINT nFlags, CPoint point);
	virtual void OnRButtonUp(UINT nFlags, CPoint point) ;
	virtual void OnRButtonDblClk(UINT nFlags, CPoint point) ;
	
	virtual BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); 

	void CancelSelection();
	void SetEditToolOption(EditToolOption option);
	EditToolOption GetEditToolOption();
	
	void SetWorkingRegion(GraphicsPath* pWorkingPath);
	GraphicsPath* GetWorkingRegion();
	void GetWorkingRegion(POINT** ppPoints,int* pPointNum);
	BOOL IsWorkingRegionEmpty();
	void Draw(CDC* pDC,float scaleX,float scaleY, int offX,int offY);

private:

	EditToolOption m_nEditToolOption;
	GraphicsPath* m_WorkingRegion;

	BOOL			m_bDraging;
	POINT			m_LastMousePos;			// 上次鼠标位置	
	POINT			m_Sel[MAX_SEL_POINTS];	//Selection
	int				m_SelNum;

	//各个功能的鼠标事件函数
	void SelectRectLBDown(UINT nFlags, CPoint point);
	void SelectRectMouseMove(UINT nFlags, CPoint point);
	void SelectRectLBUp(UINT nFlags, CPoint point);

	void AnySelectLBDown(UINT nFlags, CPoint point);
	void AnySelectMouseMove(UINT nFlags, CPoint point);
	void AnySelectLBUp(UINT nFlags, CPoint point);
	void DrawSelectAnyRegion();
	

	void DrawTmpRect();

};

#endif // !defined(AFX_VIEWACTIONEDITTOOL_H__5A668661_FFC8_4111_B7DC_BED628F74414__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -