📄 drawbase.h
字号:
// DrawBase.h: interface for the CDrawBase class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DRAWBASE_H__5BFE5769_CFAC_48F9_AEDD_0BE258D431D8__INCLUDED_)
#define AFX_DRAWBASE_H__5BFE5769_CFAC_48F9_AEDD_0BE258D431D8__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "resource.h"
typedef struct tagDRAW
{
int version;//版本号
int tag; //标志
POINT start; //起点
POINT end; //终点
LOGPEN pen; //画笔
LOGBRUSH brush; //填充画刷
int page; //页面
}DRAW;
#define IsDescendant(ptr, cls) (dynamic_cast<const cls *>(ptr) != NULL)
class CDrawView;
class CDrawBase
{
public:
enum
{
LINE = 1 , //直线
PEN , //笔
RECT , //矩形
ROUNDRECT ,//圆角矩形
CIRCLE , //圆
TEXT , //文字
SELECT //选择
};
CDrawBase( CDrawView & view );
virtual ~CDrawBase();
//属性
DRAW & GetProp( void ){ return this->draw; }
//在CRect内做选择
virtual bool Select( CRect & rc );
//判断是否选择
bool IsSelect( void ){ return this->draw_select; }
//鼠标形状
virtual HCURSOR GetCursor( void );
//获得图元id
CString GetId( void );
//设置图元id
void SetId( const char * id );
//克隆
virtual CDrawBase * Clone( void );
virtual char * Encode( int & size , bool erase = false );
virtual bool Decode( char * buffer , int size );
virtual void OnDraw( CDC * pDC );
virtual void OnLButtonDown( UINT nFlags, CPoint point );
virtual void OnMouseMove( UINT nFlags, CPoint point );
virtual void OnLButtonUp( UINT nFlags, CPoint point );
protected:
CString draw_id;
bool draw_select;
DRAW draw;
CDrawView & view;
};
#endif // !defined(AFX_DRAWBASE_H__5BFE5769_CFAC_48F9_AEDD_0BE258D431D8__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -