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.

129 lines
3.2 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1996 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // BaseSht.cpp
  7. //
  8. // Abstract:
  9. // Definition of the CBaseSheet class.
  10. //
  11. // Author:
  12. // David Potter (davidp) May 14, 1996
  13. //
  14. // Revision History:
  15. //
  16. // Notes:
  17. //
  18. /////////////////////////////////////////////////////////////////////////////
  19. #ifndef _BASESHT_H_
  20. #define _BASESHT_H_
  21. /////////////////////////////////////////////////////////////////////////////
  22. // Include Files
  23. /////////////////////////////////////////////////////////////////////////////
  24. #ifndef _EXTDLL_H_
  25. #include "ExtDll.h" // for CExtensions
  26. #endif
  27. /////////////////////////////////////////////////////////////////////////////
  28. // Forward Class Declarations
  29. /////////////////////////////////////////////////////////////////////////////
  30. class CBaseSheet;
  31. /////////////////////////////////////////////////////////////////////////////
  32. // External Class Declarations
  33. /////////////////////////////////////////////////////////////////////////////
  34. class CClusterItem;
  35. class CBasePropertyPage;
  36. /////////////////////////////////////////////////////////////////////////////
  37. // Type Definitions
  38. /////////////////////////////////////////////////////////////////////////////
  39. typedef CList<HANDLE, HANDLE> CHpageList;
  40. /////////////////////////////////////////////////////////////////////////////
  41. // CBaseSheet
  42. /////////////////////////////////////////////////////////////////////////////
  43. class CBaseSheet : public CPropertySheet
  44. {
  45. DECLARE_DYNAMIC(CBaseSheet)
  46. // Construction
  47. public:
  48. CBaseSheet(
  49. IN OUT CWnd * pParentWnd = NULL,
  50. IN UINT iSelectPage = 0
  51. );
  52. CBaseSheet(
  53. IN UINT nIDCaption,
  54. IN OUT CWnd * pParentWnd = NULL,
  55. IN UINT iSelectPage = 0
  56. );
  57. BOOL BInit(IN IIMG iimgIcon);
  58. protected:
  59. void CommonConstruct(void);
  60. // Attributes
  61. // Operations
  62. public:
  63. void SetPfGetResNetName(PFGETRESOURCENETWORKNAME pfGetResNetName, PVOID pvContext)
  64. {
  65. Ext().SetPfGetResNetName(pfGetResNetName, pvContext);
  66. }
  67. // Overrides
  68. public:
  69. virtual void AddExtensionPages(
  70. IN const CStringList * plstrExtensions,
  71. IN OUT CClusterItem * pci
  72. ) = 0;
  73. virtual HRESULT HrAddPage(IN OUT HPROPSHEETPAGE hpage) = 0;
  74. // ClassWizard generated virtual function overrides
  75. //{{AFX_VIRTUAL(CBaseSheet)
  76. public:
  77. virtual BOOL OnInitDialog();
  78. //}}AFX_VIRTUAL
  79. // Implementation
  80. public:
  81. virtual ~CBaseSheet(void);
  82. protected:
  83. BOOL m_bReadOnly;
  84. HICON m_hicon;
  85. CString m_strObjTitle;
  86. CExtensions m_ext;
  87. public:
  88. BOOL BReadOnly(void) const { return m_bReadOnly; }
  89. void SetReadOnly(IN BOOL bReadOnly = TRUE) { m_bReadOnly = bReadOnly; }
  90. HICON Hicon(void) const { return m_hicon; }
  91. const CString & StrObjTitle(void) const { return m_strObjTitle; }
  92. void SetObjectTitle(IN const CString & rstrTitle)
  93. {
  94. m_strObjTitle = rstrTitle;
  95. }
  96. CExtensions & Ext(void) { return m_ext; }
  97. // Generated message map functions
  98. //{{AFX_MSG(CBaseSheet)
  99. //}}AFX_MSG
  100. DECLARE_MESSAGE_MAP()
  101. }; //*** class CBaseSheet
  102. /////////////////////////////////////////////////////////////////////////////
  103. #endif // _BASESHT_H_