www.pudn.com > SDKSkin.rar > RNHBitmap.h


/**************************************************** 
**  Fujitsu Copyright (C) 2006 - 2007 
**	功    能:	对HBitmap进行处理 
 
**	文件名称: 	RNHBitmap.h 
**	文件基类:	 
**	扩 展 名:	h 
**	创建日期:	2006-8-7 10:14 
**	作    者:	汪荣 
*****************************************************/ 
 
#ifndef _RNHBITMAP_ONCE_ 
#define _RNHBITMAP_ONCE_ 
 
class RNHBitmap 
{ 
public: 
	RNHBitmap(); 
	RNHBitmap(HBITMAP hBitmap_,bool bDel=true); 
	RNHBitmap(LPCTSTR bmpFilename,bool bDel=true); 
	virtual ~RNHBitmap(); 
 
public: 
	HBITMAP	Detach(); 
	RNHBitmap& Attach(HBITMAP hBitmap_,bool bDel=true); 
	RNHBitmap& Attach(LPCTSTR bmpFilename,bool bDel=true); 
	int		Width(); 
	int		Height(); 
	DWORD	Length(); 
	bool operator!() const{ if(0 != m_hBitmap) return false;return true; } 
	operator HBITMAP() const{return m_hBitmap;} 
 
	void Release() 
	{ 
		if(m_bDel != false && 0 != m_hBitmap) 
		{ 
			DeleteObject(m_hBitmap); 
		} 
		m_hBitmap = 0; 
		m_bDel = true; 
		ZeroMemory(&m_bitmap,sizeof(BITMAP)); 
	} 
private: 
	void AttachBitmap(); 
private: 
	HBITMAP		m_hBitmap; 
	BITMAP		m_bitmap; 
	bool		m_bDel; 
}; 
 
#endif