Windows2003-3790/windows/advcore/duser/engine/lava/hwndcontainer.h

55 lines
1.5 KiB
C
Raw Permalink Normal View History

2001-01-01 00:00:00 +01:00
#if !defined(WINAPI__HWndContainer_h__INCLUDED)
#define WINAPI__HWndContainer_h__INCLUDED
#pragma once
class HWndContainer : public DuContainer
{
// Construction
public:
HWndContainer();
virtual ~HWndContainer();
static HRESULT Build(HWND hwnd, HWndContainer ** ppconNew);
// Base Interface
public:
virtual HandleType GetHandleType() const { return htHWndContainer; }
// Container Interface
public:
virtual void OnGetRect(RECT * prcDesktopPxl);
virtual void OnInvalidate(const RECT * prcInvalidContainerPxl);
virtual void OnStartCapture();
virtual void OnEndCapture();
virtual BOOL OnTrackMouseLeave();
virtual void OnSetFocus();
virtual void OnRescanMouse(POINT * pptContainerPxl);
virtual BOOL xdHandleMessage(UINT nMsg, WPARAM wParam, LPARAM lParam, LRESULT * pr, UINT nMsgFlags);
// Operations
public:
// Implementation
protected:
// Data
protected:
HWND m_hwndOwner;
SIZE m_sizePxl;
BOOL m_fEnableDragDrop:1;
};
//------------------------------------------------------------------------------
inline HWndContainer * CastHWndContainer(BaseObject * pBase)
{
if ((pBase != NULL) && (pBase->GetHandleType() == htHWndContainer)) {
return (HWndContainer *) pBase;
}
return NULL;
}
HWndContainer * GetHWndContainer(DuVisual * pgad);
#endif // WINAPI__HWndContainer_h__INCLUDED