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#
美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...
Boomer.Host是一家比较新的国外主机商,虽然LEB自述 we’re now more than 2 year old,商家提供虚拟主机和VPS,其中VPS主机基于OpenVZ架构,数据中心为美国得克萨斯州休斯敦。目前,商家在LET发了两款特别促销套餐,年付最低3.5美元起,特别提醒:低价低配,且必须年付,请务必自行斟酌确定需求再入手。下面列出几款促销套餐的配置信息。CPU:1core内存:...
Hostodo又发布了几款针对7月4日美国独立日的优惠套餐(Independence Day Super Sale),均为年付,基于KVM架构,采用NVMe硬盘,最低13.99美元起,可选拉斯维加斯或者迈阿密机房。这是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,产品性能一般,支持使用PayPal或者支付宝等付款方式。商家客服响应也比较一般,推...
declare_serial为你推荐
百度k站百度是怎么样k站的呢?主页改不了浏览器主页改不了51自学网站有哪些免费自学网vista系统重装怎样重装vista系统无线路由器限速设置无线路由器能设置限速吗?或者说那个牌子的能。微信如何建群微信可以建立两个人的群吗?有一个是自己正则表达式javajava正则表达式中小企业信息化小企业需要信息化吗?需要的话要怎么实现信息化呢?iphone越狱后怎么恢复已经越狱的iphone怎么恢复到原来的系统腾讯文章腾讯罗剑楠是何许人也?
什么是域名 域名注册中心 长春域名注册 sugarhosts naning9韩国官网 重庆服务器托管 site5 Vultr godaddy优惠码 外国域名 光棍节日志 服务器怎么绑定域名 魔兽世界台湾服务器 河南m值兑换 tna官网 cdn加速是什么 idc查询 电信托管 ca187 华为云盘 更多