imageobject.h

来自「深入浅出Visual C++入门进阶与应用实例 随书光盘 作者 何志丹」· C头文件 代码 · 共 78 行

H
78
字号
// ImageObject.h: interface for the CImageObject class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_IMAGEOBJECT_H__E3966616_A84F_46F4_AF5C_A606F21D1333__INCLUDED_)
#define AFX_IMAGEOBJECT_H__E3966616_A84F_46F4_AF5C_A606F21D1333__INCLUDED_

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

#include "afxtempl.h"

class CImageObject : public CObject  //图像对象类
{
public:
	enum IMAGE_TYPE{UNDEFINE=0,SQUARE = 1 ,TEXT = 2 };//图形对象的类型
	static CImageObject* ReadObject(CFile& file);//静态成员函数,根据类型生成对应的函数.
	CImageObject();
	virtual ~CImageObject();
	virtual bool Write(CFile& file);//写文件
	virtual bool Read(CFile& file);//读文件
	virtual void Draw(CDC * pDC);//显示图像对象
	IMAGE_TYPE m_iType ;//图形的类型
	int		m_iLayer ;//图层,起始值是1
	
	DECLARE_DYNCREATE(CImageObject)
};

//================================================
class CSquareObject : public CImageObject//正方形对象类
{
public :
	virtual bool Write(CFile& file);//写文件
	virtual bool Read(CFile& file);//读文件
	virtual void Draw(CDC *pDC);//显示图像对象
	CSquareObject();
	
	CPoint m_ptTopLeft ;//左上角的项点
	long   m_nWidth ; //宽
	
	DECLARE_DYNCREATE(CSquareObject)
};

//==============================================
class CTextObject : public CImageObject//文本对象类
{
public :
	virtual bool Write(CFile& file);//写文件
	virtual bool Read(CFile& file);//读文件
	virtual void Draw(CDC *pDC);//显示图像对象
	CTextObject();
	
	CPoint m_ptTopLeft ;//左上角的项点
	CString m_strText ; //文本内容
	
	DECLARE_DYNCREATE(CTextObject)
};

//==============================================
class CImageObjectManage//图形对象的管理类
{
public :
	void Init();//初始化
	bool WriteFile();//写文件
	bool ReadFile(long nShowLayer = 0 );//从文件中读取相应图层的信息
	void Draw(CDC * pDC);
	CImageObjectManage();//显示图形
	~CImageObjectManage();
	
	CString i_strFileName ;//存储图形信息的文件名
private:
	void Release(); //清空所有的图形信息
	CArray<CImageObject*,CImageObject*>		m_objs ;//图形对象集
};

#endif // !defined(AFX_IMAGEOBJECT_H__E3966616_A84F_46F4_AF5C_A606F21D1333__INCLUDED_)

⌨️ 快捷键说明

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