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 + -
显示快捷键?