📄 viewactionedittool.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 + -