VC++中的视图类和文档类有什么区别啊,各有什么作用啊?
视图类(CView)的三个子类
CScrollView类提供视图的滚动显示;CEditView类支持在视图中的文本编辑操作;CHtmlView类支持在视图中显示和操作html文件。
文档类不仅可以实现简单数据结构的读写操作,还可以通过对CObiect类的派生实现对复杂数据结构的读写操作,由于该方法是VisualC++程序设计的基本方法,本文就以一个简单的例子来介绍可序列化类的实现方法。
实现条件:
实现序列化的的类需要满足一系列条件:
1. 该类需要从CObject类派生(可以是间接派生);
2. 在类中中进行DECLARE_SERIAL宏定义;
3. 类存在有缺省的构造函数;
4. 类中实现了Serialize()函数,并且在其中调用基类的序列化函数;
5. 使用IMPLEMENT_SERIAL宏指明类名及版本号;如何建立一个CDib类?
class CDib : public CObject
{
DECLARE_SERIAL(CDib)
// Public member
public:
// Constructor
CDib();
CDib(CDC * pDC, // Memory DC
int nbits=0, // use default bits/pixel
BOOL bCompr=TRUE);
CDib(CDC * pDC, // DC
CBitmap *pBitmap, // Bitmap pointer
int nbits=0, // use default bits/pixel
BOOL bCompr=TRUE);
CDib(HDIB hDib, // DIB Handle
BOOL bDataHandleOnly=TRUE);
virtual ~CDib();
virtual void Serialize(CArchive &ar);
public:
// Operations
BOOL LoadDib(UINT uIDS, LPCSTR lpszDibType = "DIB");
BOOL LoadDib(LPCSTR lpszDibRes, LPCSTR lpszDibType = "DIB");
BOOL LoadDibFile(CString lpszDibFile);
BOOL SaveDib(LPCSTR lpszDibFile);
BOOL Display(CDC *, CPoint ptDest, DWORD dwRop=SRCCOPY);
BOOL Display(CDC *, CPoint ptDest, int Cx, int Cy, DWORD dwRop=SRCCOPY);
BOOL Display(CDC *, CRect rcDest, CRect rcSrc,DWORD dwRop=SRCCOPY);
BOOL IsEmpty();
int GetColorBits();
DWORD GetLength();
WORD GetWidth();
WORD GetHeight();
HDIB GetHandle();
HDIB CopyHandle();
HANDLE CopyDataHandle();
WORD GetNumColors();
WORD GetPaletteSize();
CPalette* GetPalette();
CBitmap* MakeBitmap(CDC * pDC);
void SetMonoColors(DWORD dwForeground, DWORD dwBackground);
BOOL GetMonoColors(DWORD& dwForeground, DWORD& dwBackground);
private:
BOOL AllocMemory(BOOL bRealloc=FALSE);
BOOL MakePalette();
BOOL ReadDib(CFile *pFile);
BOOL WriteDib(CFile *pFile);
// Data
private:
HDIB m_hDib;
LPBITMAPFILEHEADER m_lpBMFH;
LPBITMAPINFOHEADER m_lpBMIH; // pointer to an Win30-style DIB
LPBITMAPCOREHEADER m_lpBMCH; // pointer to an other-style DIB
LPBITMAPINFO m_lpBMI; // pointer to an Win30-style DIB
LPBITMAPCOREINFO m_lpBMC; // pointer to an other-style DIB
LPSTR m_lpData;
CPalette * m_pPalette;
CBitmap * m_pBitmap;
char * m_lpBuf; // DIB data buffer
DWORD m_dwLength; // total buffer length, including header
int m_nBits; // number of color bits per pixel
//伍千学接口
public:
/*
CDC *SetBmp(CDC *pDC,CRect rect,CString FileName);
CDC *SetBmp(CDC *pDC,CDC *mDC,CRect rect,CString FileName);
CDC *SetBmp(CWnd *Wnd,CRect rect,CString FileName);
CDC *SetBmp(CWnd *Wnd,CString FileName);
CDC *SetBmp(CWnd *Wnd,CDC *mDC,CString FileName);
CDC *GetBmp();
void XianShi(CDC *pDC);
// 1 标志文件装入,2 标志文件没有装入
BOOL m_BiaoZhi;
CDC m_DC;
*/
};数据库死锁,怎样解决
察看死锁
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid
order by ao.object_name ;
清除死锁
alter system kill session sid,.serial#
tmhhost放出了2021年的端午佳节+618年中大促的优惠活动:日本软银、洛杉矶200G高防cn2 gia、洛杉矶三网cn2 gia、香港200M直连BGP、韩国cn2,全都是高端优化线路,所有这些VPS直接8折,部分已经做了季付8折然后再在此基础上继续8折(也就是6.4折)。 官方网站:https://www.tmhhost.com 香港BGP线路VPS ,200M带宽 200M带...
UCloud优刻得商家这几年应该已经被我们不少的个人站长用户认知,且确实在当下阿里云、腾讯云服务商不断的只促销服务于新用户活动,给我们很多老用户折扣的空间不多。于是,我们可以通过拓展选择其他同类服务商享受新人的福利,这里其中之一就选择UCloud商家。UCloud服务商2020年创业板上市的,实际上很早就有认识到,那时候价格高的离谱,谁让他们只服务有钱的企业用户呢。这里希望融入到我们大众消费者,你...
香港ceranetworks提速啦是成立于2012年的十分老牌的一个商家这次给大家评测的是 香港ceranetworks 8核16G 100M 这款产品 提速啦老板真的是豪气每次都给高配我测试 不像别的商家每次就给1核1G,废话不多说开始跑脚本。香港ceranetworks 2核2G 50G硬盘20M 69元/月30M 99元/月50M 219元/月100M 519元/月香港ceranetwork...
declare_serial为你推荐
回收站在哪回收站在哪?邮箱怎么写正确的邮箱地址怎么写外网和内网内网和外网有什么区别啊?刷网站权重如何刷流量才能提高网站权重绵阳电信绵阳电信宽带套餐…具体点苹果5怎么越狱苹果5怎么越狱?qq怎么发邮件手机QQ怎么发邮件开机滚动条开机滚动条太多怎么办?什么是云平台什么是云平台管理软件,一个云平台软件应该具有哪些基本功能网站优化方案网站优化方法有哪些
虚拟空间租赁 permitrootlogin 12u机柜尺寸 lamp配置 免费个人空间申请 空间论坛 91vps 域名接入 服务器合租 购买国外空间 超级服务器 河南移动梦网 atom处理器 广东主机托管 中国电信宽带测速 服务器托管价格 移动王卡 cdn加速技术 zencart安装 服务器是什么意思 更多