InsidePropPage.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef __InsidePropPage_h__
  2. #define __InsidePropPage_h__
  3. /////////////////////////////////////////////////////////////////////////////
  4. // InsidePropPage.h | Declaration of the TCInsidePropPage class.
  5. #include "..\TCLib\PropertyPageSite.h"
  6. /////////////////////////////////////////////////////////////////////////////
  7. // TCInsidePropPage allows a property page to be embedded within another
  8. // property page. This ability encourages the reuse of common user interface
  9. // elements.
  10. //
  11. // TCInsidePropPage is used internally by the TCPropertyPageBase class to
  12. // further simplify the task of embedding property pages within another.
  13. //
  14. // See Also: TCPropertyPageSite, TCPropertyPageBase, TCPropertyPageImpl
  15. class TCInsidePropPage :
  16. public TCPropertyPageSite,
  17. public CWindowImpl<TCInsidePropPage>
  18. {
  19. // Declarations
  20. public:
  21. DECLARE_WND_SUPERCLASS(NULL, WC_DIALOG)
  22. // Message Map
  23. public:
  24. BEGIN_MSG_MAP(TCInsidePropPage)
  25. MESSAGE_RANGE_HANDLER(0, 0xFFFFFFFF, OnMessage)
  26. END_MSG_MAP()
  27. // Construction
  28. public:
  29. TCInsidePropPage();
  30. bool Create(HWND hwndParent, IPropertyPageSite* pPageSite, UINT idPosCtrl,
  31. REFCLSID clsid, bool bVisible, bool bSizeToCtrl = true,
  32. bool bDelCtrl = true);
  33. // Overrides
  34. protected:
  35. virtual HRESULT OnStatusChange(DWORD dwFlags);
  36. virtual HRESULT OnGetLocaleID(LCID* pLocaleID);
  37. virtual HRESULT OnGetPageContainer(IUnknown** ppUnk);
  38. virtual HRESULT OnTranslateAccelerator(MSG* pMsg);
  39. virtual BOOL OnIsModal();
  40. virtual HWND OnGetWindow();
  41. // Message Handlers
  42. protected:
  43. LRESULT OnMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  44. // Group=Data Members
  45. protected:
  46. // A smart pointer that maintains a reference on the
  47. // *IPropertyPageSite* interface pointer specified in the Create method.
  48. //
  49. // See Also: TCInsidePropertyPage::Create
  50. IPropertyPageSitePtr m_pPageSite;
  51. };
  52. /////////////////////////////////////////////////////////////////////////////
  53. #endif // !__InsidePropPage_h__