00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #pragma once
00023
00024 #include "ComPropertyPage.h"
00025
00026 interface IComPropertyPageDirty
00027 {
00028 virtual void OnSetDirty(bool fDirty) = 0;
00029 };
00030
00031
00032
00033 class CComPropertySheet : public CPropertySheet, public IComPropertyPageDirty
00034 {
00035 DECLARE_DYNAMIC(CComPropertySheet)
00036
00037 CComPtr<IPropertyPageSite> m_pSite;
00038 CInterfaceList<ISpecifyPropertyPages> m_spp;
00039 CAutoPtrList<CComPropertyPage> m_pages;
00040 CSize m_size;
00041
00042 public:
00043 CComPropertySheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
00044 CComPropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
00045 virtual ~CComPropertySheet();
00046
00047 int AddPages(CComPtr<ISpecifyPropertyPages> pSPP);
00048
00049
00050 void OnSetDirty(bool fDirty) {if(CPropertyPage* p = GetActivePage()) p->SetModified(fDirty);}
00051
00052
00053 void OnActivated(CPropertyPage* pPage);
00054
00055 virtual BOOL OnInitDialog();
00056
00057 protected:
00058 DECLARE_MESSAGE_MAP()
00059 };
00060
00061