📄 selectevent.h
字号:
// SelectEvent.h: interface for the CSelectEvent class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SELECTEVENT_H__7ECCBC55_535B_4529_9DBA_90A53DFECA95__INCLUDED_)
#define AFX_SELECTEVENT_H__7ECCBC55_535B_4529_9DBA_90A53DFECA95__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Event.h"
#include "Elements.h"
#include "ModifyCommand.h"
#include "LineSnap.h"
#include "RectRubber.h"
#include "ViewWnd.h"
//选择图元事件事件类
class CSelectEvent : public CEvent
{
public:
CSelectEvent(CViewWnd *pViewWnd):CEvent(pViewWnd)
{
if(pViewWnd->Snap())
m_pSnap=new CLineSnap(this);
m_bMove=FALSE;
m_pCurSelElement=NULL;
m_nEditPoint=-1;
m_PickDot=NULL;
m_bRectSel=FALSE;
m_bSingleMove=TRUE;
}
virtual ~CSelectEvent();
public:
private:
CElement *m_pCurSelElement;
BOOL m_bMove;
int m_nEditPoint;
void GetRectSelectedElements(CElements *pElements);
CElement *PickElement(CPoint pt,BOOL &bExist);
CElement *SelectSingleElement(CPoint pt,BOOL &bExist);//单选
void ReSelectElement(CPoint pt);//多选
void RectElement(const position& pos_lt,const position& pos_rb,CElements *pElements);//框选
vector m_vector;
transf m_transf;
int m_nPtIndex;
BOOL m_bRectSel;//操作状态,框选
BOOL m_bSingleMove;//是否单选
CDot *m_PickDot;
position m_start_move_pos;
public:
//单选
virtual void OnSingleSelect(CPoint point,CElement *pElement);
//多选
virtual void OnGroupSelect(CElements *pElements);
//鼠标移动事件
virtual void OnMouseMove(UINT nFlags, CPoint point);
//鼠标左键双击事件
virtual void OnLButtonDblClk(UINT nFlags, CPoint point);
//鼠标右键双击事件
virtual void OnRButtonDblClk(UINT nFlags, CPoint point);
//鼠标左键单击按下事件
virtual void OnLButtonDown(UINT nFlags, CPoint point);
//鼠标左键单击弹上事件
virtual void OnLButtonUp(UINT nFlags, CPoint point);
//鼠标右键单击按下事件
virtual void OnRButtonDown(UINT nFlags, CPoint point);
//鼠标右键单击弹上事件
virtual void OnRButtonUp(UINT nFlags, CPoint point);
//键盘按下事件
virtual void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
//键盘弹上事件
virtual void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
};
#endif // !defined(AFX_SELECTEVENT_H__7ECCBC55_535B_4529_9DBA_90A53DFECA95__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -