00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #if !defined(AFX_WNDSETTINGSPAGE_H__E0931D5D_AEFE_437E_9C5B_F1E0147EFD70__INCLUDED_)
00023 #define AFX_WNDSETTINGSPAGE_H__E0931D5D_AEFE_437E_9C5B_F1E0147EFD70__INCLUDED_
00024
00025 #pragma once
00026
00027 class CSettingsSheet;
00028
00029
00030 class CSettingsPage : public CDialog
00031 {
00032
00033 public:
00034 CSettingsPage(UINT nIDTemplate, LPCTSTR pszCaption = NULL);
00035 virtual ~CSettingsPage();
00036
00037 DECLARE_DYNAMIC(CSettingsPage)
00038
00039
00040 public:
00041 CString m_sCaption;
00042 BOOL m_bGroup;
00043
00044
00045 public:
00046 BOOL Create(CRect& rcPage, CWnd* pSheetWnd);
00047 BOOL LoadDefaultCaption();
00048
00049 CSettingsPage* GetPage(CRuntimeClass* pClass) const;
00050
00051 inline CSettingsSheet* GetSheet() const
00052 {
00053 return (CSettingsSheet*)GetParent();
00054 }
00055
00056 inline LPCTSTR GetTemplateName() const
00057 {
00058 return m_lpszTemplateName;
00059 }
00060
00061
00062 public:
00063 virtual void SetModified(BOOL bChanged = TRUE);
00064 virtual BOOL OnApply();
00065 virtual void OnReset();
00066 virtual void OnOK();
00067 virtual void OnCancel();
00068 virtual BOOL OnSetActive();
00069 virtual BOOL OnKillActive();
00070
00071
00072 public:
00073
00074
00075
00076 protected:
00077 virtual void DoDataExchange(CDataExchange* pDX);
00078
00079 protected:
00080
00081 virtual BOOL OnInitDialog();
00082
00083 DECLARE_MESSAGE_MAP()
00084
00085 public:
00086 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
00087 afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
00088 };
00089
00090
00091
00092 #endif