Files
Work/toolbar/Addbmp.hpp
2024-08-07 09:16:27 -04:00

158 lines
3.3 KiB
C++

#ifndef _TOOLBAR_ADDBITMAP_HPP_
#define _TOOLBAR_ADDBITMAP_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_COMMCTRL_HPP_
#include <common/commctrl.hpp>
#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#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