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#
Hostodo在九月份又发布了两款特别套餐,开设在美国拉斯维加斯、迈阿密和斯波坎机房,基于KVM架构,采用NVMe SSD高性能磁盘,最低1.5GB内存8TB月流量套餐年付34.99美元起。Hostodo是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,美国三个地区机房,支持支付宝或者PayPal、加密货币等付款。下面列出这两款主机配置信息。CP...
licloud官方消息:当前对香港机房的接近100台物理机(香港服务器)进行打折处理,30Mbps带宽,低至不到40美元/月,速度快,性价比高,跑绝大多数项目都是绰绰有余了。该款香港服务器自带启动、关闭、一键重装功能,正常工作日内30~60分钟交货(不包括非工作日)。 官方网站:https://licloud.io 特价香港物理服务器 CPU:e3-1230v2(4核心、8线程、3.3GH...
zji怎么样?zji是一家老牌国人主机商家,公司开办在香港,这个平台主要销售独立服务器业务,和hostkvm是同一样,两个平台销售的产品类别不一平,商家的技术非常不错,机器非常稳定。昨天收到商家的优惠推送,目前针对香港邦联四型推出了65折优惠BGP线路服务器,性价比非常不错,有需要香港独立服务器的朋友可以入手,非常适合做站。zji优惠码:月付/年付优惠码:zji 物理服务器/VDS/虚拟主机空间订...
declare_serial为你推荐
51自学网站推荐一个好一点的自学网站,关于网站建设的。中国电信互联星空中国电信宽带于互联星空的区别百度抢票浏览器猎豹浏览器,360抢票,百度卫士抢票哪个抢票工具好?依赖注入依赖注入是什么意思?iphone越狱后怎么恢复iPhone越狱后怎么恢复?天天酷跑刷金币如何使用八门神器给天天酷跑刷钻刷金币神雕侠侣礼包大全神雕侠侣手游版四重大礼包怎么得到啊?免费免费建站我想建一个自己的免费网站,但不知道那里有..2012年正月十五山西省太原市2012年正月十五活动的相关情况三星s8什么时候上市三星s8什么时候上市 三星s8上市时间
美国服务器托管 过期域名 已备案未注册域名 荷兰vps smartvps 淘宝双十一2018 免费全能空间 工信部icp备案号 789电视网 卡巴斯基试用版 可外链相册 太原联通测速 免费的域名 数据湾 google搜索打不开 fatcow e-mail 德国代理ip suspended翻译 竞彩论坛空间 更多