#include LinkedBitmap::LinkedBitmap(void) : mCtlID(0), mhBitmap(0), mReferenceCount(0), mhLibrary(0) { ::memset(&mBitmapInfo,0,sizeof(BITMAP)); } LinkedBitmap::LinkedBitmap(int ctlID,String &bitmapName,HINSTANCE hLibrary) : mCtlID(ctlID), mReferenceCount(1), mhLibrary(hLibrary), mBitmapName(bitmapName) { ::memset(&mBitmapInfo,0,sizeof(BITMAP)); loadBitmap(bitmapName,hLibrary); } LinkedBitmap::LinkedBitmap(const LinkedBitmap &someLinkedBitmap) : mCtlID(someLinkedBitmap.mCtlID), mReferenceCount(someLinkedBitmap.mReferenceCount), mhLibrary(someLinkedBitmap.mhLibrary), mBitmapName(someLinkedBitmap.mBitmapName) { ::memset(&mBitmapInfo,0,sizeof(BITMAP)); loadBitmap(someLinkedBitmap.mBitmapName,someLinkedBitmap.mhLibrary); } LinkedBitmap::~LinkedBitmap() { destroy(); } void LinkedBitmap::destroy(void) { if(!isOkay())return; ::DeleteObject(mhBitmap); mhBitmap=0; } WORD LinkedBitmap::drawBitmap(HDC hDC,RECT locationRect) { DrawBitmap::drawBitmap(hDC,mhBitmap,locationRect); return TRUE; } WORD LinkedBitmap::drawBitmap(void) { DrawBitmap::drawBitmap(mhBitmap); return TRUE; }