93 lines
2.1 KiB
C++
93 lines
2.1 KiB
C++
#ifndef _COMMON_INSTANCEDATA_HPP_
|
|
#define _COMMON_INSTANCEDATA_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
|
|
class InstanceData
|
|
{
|
|
public:
|
|
InstanceData(void);
|
|
~InstanceData();
|
|
static void FAR *getInstanceData(HWND hPropertyWnd);
|
|
static void setInstanceData(HWND hPropertyWnd,void FAR *lpPointer);
|
|
static void removeInstanceData(HWND hPropertyWnd);
|
|
private:
|
|
InstanceData(const InstanceData &someInstanceData);
|
|
};
|
|
|
|
inline
|
|
InstanceData::InstanceData(void)
|
|
{
|
|
return;
|
|
}
|
|
|
|
inline
|
|
InstanceData::InstanceData(const InstanceData &/*someProperty*/)
|
|
{
|
|
return;
|
|
}
|
|
|
|
inline
|
|
InstanceData::~InstanceData()
|
|
{
|
|
return;
|
|
}
|
|
|
|
#ifdef __FLAT__
|
|
inline
|
|
void FAR *InstanceData::getInstanceData(HWND hPropertyWnd)
|
|
{
|
|
if(!::IsWindow(hPropertyWnd))return (void FAR*)0;
|
|
return (void FAR*)::GetProp(hPropertyWnd,(LPSTR)"INSTANCEDATA@@NEARPTR");
|
|
}
|
|
|
|
inline
|
|
void InstanceData::setInstanceData(HWND hPropertyWnd,void FAR *lpPointer)
|
|
{
|
|
if(!::IsWindow(hPropertyWnd))return;
|
|
::SetProp(hPropertyWnd,(LPSTR)"INSTANCEDATA@@NEARPTR",(HANDLE)lpPointer);
|
|
return;
|
|
}
|
|
|
|
inline
|
|
void InstanceData::removeInstanceData(HWND hPropertyWnd)
|
|
{
|
|
if(!::IsWindow(hPropertyWnd))return;
|
|
::RemoveProp(hPropertyWnd,(LPSTR)"INSTANCEDATA@@NEARPTR");
|
|
return;
|
|
}
|
|
#else
|
|
inline
|
|
void FAR *InstanceData::getInstanceData(HWND hPropertyWnd)
|
|
{
|
|
HANDLE handleSegment;
|
|
HANDLE handleOffset;
|
|
|
|
if(!::IsWindow(hPropertyWnd))return (void FAR*)0;
|
|
handleSegment=::GetProp(hPropertyWnd,(LPSTR)"INSTANCEDATA@@HIWORD");
|
|
handleOffset=::GetProp(hPropertyWnd,(LPSTR)"INSTANCEDATA@@LOWORD");
|
|
return (void FAR*)(MK_FP(handleSegment,handleOffset));
|
|
}
|
|
|
|
inline
|
|
void InstanceData::setInstanceData(HWND hPropertyWnd,void FAR *lpPointer)
|
|
{
|
|
if(!::IsWindow(hPropertyWnd))return;
|
|
::SetProp(hPropertyWnd,(LPSTR)"INSTANCEDATA@@HIWORD",(HANDLE)FP_SEG(lpPointer));
|
|
::SetProp(hPropertyWnd,(LPSTR)"INSTANCEDATA@@LOWORD",(HANDLE)FP_OFF(lpPointer));
|
|
return;
|
|
}
|
|
|
|
inline
|
|
void InstanceData::removeInstanceData(HWND hPropertyWnd)
|
|
{
|
|
if(!::IsWindow(hPropertyWnd))return;
|
|
::RemoveProp(hPropertyWnd,(LPSTR)"INSTANCEDATA@@HIWORD");
|
|
::RemoveProp(hPropertyWnd,(LPSTR)"INSTANCEDATA@@LOWORD");
|
|
return;
|
|
}
|
|
#endif
|
|
#endif
|
|
|