Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.5 KiB

  1. #if !defined(WINAPI__HWndContainer_h__INCLUDED)
  2. #define WINAPI__HWndContainer_h__INCLUDED
  3. #pragma once
  4. class HWndContainer : public DuContainer
  5. {
  6. // Construction
  7. public:
  8. HWndContainer();
  9. virtual ~HWndContainer();
  10. static HRESULT Build(HWND hwnd, HWndContainer ** ppconNew);
  11. // Base Interface
  12. public:
  13. virtual HandleType GetHandleType() const { return htHWndContainer; }
  14. // Container Interface
  15. public:
  16. virtual void OnGetRect(RECT * prcDesktopPxl);
  17. virtual void OnInvalidate(const RECT * prcInvalidContainerPxl);
  18. virtual void OnStartCapture();
  19. virtual void OnEndCapture();
  20. virtual BOOL OnTrackMouseLeave();
  21. virtual void OnSetFocus();
  22. virtual void OnRescanMouse(POINT * pptContainerPxl);
  23. virtual BOOL xdHandleMessage(UINT nMsg, WPARAM wParam, LPARAM lParam, LRESULT * pr, UINT nMsgFlags);
  24. // Operations
  25. public:
  26. // Implementation
  27. protected:
  28. // Data
  29. protected:
  30. HWND m_hwndOwner;
  31. SIZE m_sizePxl;
  32. BOOL m_fEnableDragDrop:1;
  33. };
  34. //------------------------------------------------------------------------------
  35. inline HWndContainer * CastHWndContainer(BaseObject * pBase)
  36. {
  37. if ((pBase != NULL) && (pBase->GetHandleType() == htHWndContainer)) {
  38. return (HWndContainer *) pBase;
  39. }
  40. return NULL;
  41. }
  42. HWndContainer * GetHWndContainer(DuVisual * pgad);
  43. #endif // WINAPI__HWndContainer_h__INCLUDED