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

📄 drawbase.h

📁 电子白板程序
💻 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 + -