Source code of Windows XP (NT5)
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.

104 lines
2.6 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1996 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // BasePSht.cpp
  7. //
  8. // Abstract:
  9. // Definition of the CBasePropertySheet class.
  10. //
  11. // Author:
  12. // David Potter (davidp) August 31, 1996
  13. //
  14. // Revision History:
  15. //
  16. // Notes:
  17. //
  18. /////////////////////////////////////////////////////////////////////////////
  19. #ifndef _BASEPSHT_H_
  20. #define _BASEPSHT_H_
  21. /////////////////////////////////////////////////////////////////////////////
  22. // Include Files
  23. /////////////////////////////////////////////////////////////////////////////
  24. #ifndef _BASESHT_H_
  25. #include "BaseSht.h" // for CBaseSheet, CHpageList
  26. #endif
  27. /////////////////////////////////////////////////////////////////////////////
  28. // Forward Class Declarations
  29. /////////////////////////////////////////////////////////////////////////////
  30. class CBasePropertySheet;
  31. /////////////////////////////////////////////////////////////////////////////
  32. // External Class Declarations
  33. /////////////////////////////////////////////////////////////////////////////
  34. class CClusterItem;
  35. class CBasePropertyPage;
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CBasePropertySheet
  38. /////////////////////////////////////////////////////////////////////////////
  39. class CBasePropertySheet : public CBaseSheet
  40. {
  41. DECLARE_DYNAMIC(CBasePropertySheet)
  42. // Construction
  43. public:
  44. CBasePropertySheet(
  45. IN OUT CWnd * pParentWnd = NULL,
  46. IN UINT iSelectPage = 0
  47. );
  48. virtual ~CBasePropertySheet(void);
  49. virtual BOOL BInit(
  50. IN OUT CClusterItem * pciCluster,
  51. IN IIMG iimgIcon
  52. );
  53. // Attributes
  54. // Operations
  55. // Overrides
  56. public:
  57. virtual INT_PTR DoModal(void);
  58. virtual void AddExtensionPages(
  59. IN const CStringList * plstrExtensions,
  60. IN OUT CClusterItem * pci
  61. );
  62. virtual HRESULT HrAddPage(IN OUT HPROPSHEETPAGE hpage);
  63. virtual CBasePropertyPage ** Ppages(void) = 0;
  64. virtual int Cpages(void) = 0;
  65. // ClassWizard generated virtual function overrides
  66. //{{AFX_VIRTUAL(CBasePropertySheet)
  67. public:
  68. virtual BOOL OnInitDialog();
  69. //}}AFX_VIRTUAL
  70. // Implementation
  71. protected:
  72. CClusterItem * m_pci;
  73. CHpageList m_lhpage;
  74. public:
  75. CClusterItem * Pci(void) const { return m_pci; }
  76. CHpageList & Lhpage(void) { return m_lhpage; }
  77. void SetCaption(IN LPCTSTR pszTitle);
  78. // Generated message map functions
  79. //{{AFX_MSG(CBasePropertySheet)
  80. //}}AFX_MSG
  81. DECLARE_MESSAGE_MAP()
  82. }; //*** class CBasePropertySheet
  83. /////////////////////////////////////////////////////////////////////////////
  84. #endif // _BASEPSHT_H_