#ifndef _TOOLBAR_ADDBITMAP_HPP_ #define _TOOLBAR_ADDBITMAP_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_COMMCTRL_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif class AddBitmap : private TBADDBITMAP { public: AddBitmap(void); AddBitmap(UINT bitmapID,HINSTANCE hProcessInstance=GetModuleHandle(0)); AddBitmap(const String &strBitmapName,HINSTANCE hProcessInstance=GetModuleHandle(0)); AddBitmap(const AddBitmap &someAddBitmap); AddBitmap(const TBADDBITMAP &someTBADDBITMAP); virtual ~AddBitmap(); AddBitmap &operator=(const AddBitmap &someAddBitmap); AddBitmap &operator=(const TBADDBITMAP &someTBADDBITMAP); BOOL operator==(const AddBitmap &someAddBitmap)const; BOOL operator==(const TBADDBITMAP &someTBADDBITMAP)const; HINSTANCE processInstance(void)const; void processInstance(HINSTANCE hProcessInstance); UINT bitmapID(void)const; void bitmapID(UINT bitmapID); TBADDBITMAP &getTBADDBITMAP(void); static UINT makeIntResource(const String &strResName); private: void init(void); }; inline AddBitmap::AddBitmap(void) { init(); } inline AddBitmap::AddBitmap(UINT bitmapID,HINSTANCE hProcessInstance) { TBADDBITMAP::hInst=hProcessInstance; TBADDBITMAP::nID=bitmapID; } inline AddBitmap::AddBitmap(const String &strBitmapName,HINSTANCE hProcessInstance) { if(HINST_COMMCTRL==hProcessInstance) { TBADDBITMAP::hInst=hProcessInstance; TBADDBITMAP::nID=(UINT)MAKEINTRESOURCE((char*)(String&)strBitmapName); } else { TBADDBITMAP::hInst=0; TBADDBITMAP::nID=(UINT)::LoadBitmap(hProcessInstance,strBitmapName); } // TBADDBITMAP::hInst=hProcessInstance; // TBADDBITMAP::nID=(UINT)MAKEINTRESOURCE((char*)(String&)strBitmapName); } inline AddBitmap::AddBitmap(const AddBitmap &someAddBitmap) { init(); *this=someAddBitmap; } inline AddBitmap::AddBitmap(const TBADDBITMAP &someTBADDBITMAP) { init(); *this=someTBADDBITMAP; } inline AddBitmap::~AddBitmap() { } inline AddBitmap &AddBitmap::operator=(const AddBitmap &someAddBitmap) { processInstance(someAddBitmap.processInstance()); bitmapID(someAddBitmap.bitmapID()); return *this; } inline AddBitmap &AddBitmap::operator=(const TBADDBITMAP &someTBADDBITMAP) { processInstance(someTBADDBITMAP.hInst); bitmapID(someTBADDBITMAP.nID); return *this; } inline BOOL AddBitmap::operator==(const AddBitmap &someAddBitmap)const { return (processInstance()==someAddBitmap.processInstance()&& bitmapID()==someAddBitmap.bitmapID()); } inline BOOL AddBitmap::operator==(const TBADDBITMAP &someTBADDBITMAP)const { return (processInstance()==someTBADDBITMAP.hInst&& bitmapID()==someTBADDBITMAP.nID); } inline HINSTANCE AddBitmap::processInstance(void)const { return TBADDBITMAP::hInst; } inline void AddBitmap::processInstance(HINSTANCE hProcessInstance) { TBADDBITMAP::hInst=hProcessInstance; } inline UINT AddBitmap::bitmapID(void)const { return TBADDBITMAP::nID; } inline void AddBitmap::bitmapID(UINT bitmapID) { TBADDBITMAP::nID=bitmapID; } inline TBADDBITMAP &AddBitmap::getTBADDBITMAP(void) { return (TBADDBITMAP&)*this; } inline void AddBitmap::init(void) { TBADDBITMAP::hInst=0; TBADDBITMAP::nID=0; } inline UINT AddBitmap::makeIntResource(const String &strResName) { return (UINT)MAKEINTRESOURCE((char*)strResName.str()); } #endif