#if !defined(AFX_WIZPAGE_H__61D37A46_D552_11D1_9BCC_006008947035__INCLUDED_) #define AFX_WIZPAGE_H__61D37A46_D552_11D1_9BCC_006008947035__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 // Wiz97Pg.h : header file // // forward declaration class CWiz97Sheet; ///////////////////////////////////////////////////////////////////////////// // // Base classes for Wiz97 dialogs // ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // CWiz97BasePage base class // This class is intended to be used for wizard pages. Either OnCanel() or // OnWizardFinish() is called for every page derived from this class whether // or not the Finish button is displayed. The default versions of these functions // provided here do nothing. This means the finishing page should implement // OnCancel() to call CSnapPage::OnCancel() otherwise it will not get called. class CWiz97BasePage : public CSnapPage { DECLARE_DYNCREATE(CWiz97BasePage) // Construction public: CWiz97BasePage(UINT nIDD, BOOL bWiz97 = TRUE, BOOL bFinishPage = FALSE ); CWiz97BasePage() { ASSERT( FALSE ); } virtual ~CWiz97BasePage(); // Can initialize the page with either a DSObject OR a SecPolItem, but not // both because the DSObject() accessor gets confused. virtual BOOL InitWiz97 ( DWORD dwFlags, DWORD dwWizButtonFlags = 0, UINT nHeaderTitle = 0, UINT nSubTitle = 0, STACK_INT *pstackPages = NULL ); virtual BOOL InitWiz97 ( CComObject *pSecPolItem, DWORD dwFlags, DWORD dwWizButtonFlags /*= 0*/, UINT nHeaderTitle /*= 0*/, UINT nSubTitle /*= 0*/ ); // *pbDoHook set upon exit from PropSheet in derived OnWizardFinish() void ConnectAfterWizardHook( BOOL *pbDoHook ); public: virtual BOOL OnSetActive(); // Default handlers since our callback needs something to call. virtual BOOL OnWizardFinish(); virtual void OnCancel(); // OnWizardRelease is called for each page after the finish page's OnWizardFinish has been called. virtual void OnWizardRelease() {}; static UINT CALLBACK PropSheetPageCallback( HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp ); protected: virtual BOOL OnInitDialog(); void SetAfterWizardHook( BOOL bDoHook ); BOOL WasActivated() { return m_bSetActive; } void SetFinished( BOOL bFinished = TRUE ) { m_static_bFinish = bFinished; } private: static BOOL m_static_bFinish; // TRUE if Finish button pressed on last page static BOOL m_static_bOnCancelCalled; // TRUE if CSnapPage::OnCancel called. Call 1 time only. BOOL *m_pbDoAfterWizardHook; BOOL m_bFinishPage; // TRUE if this is the finishing page BOOL m_bSetActive; // TRUE if this page was ever displayed BOOL m_bReset; // TRUE if OnCancel was called due to a reset for this page }; ///////////////////////////////////////////////////////////////////////////// // // General Name/Properties Wiz97 dialog(s) // ///////////////////////////////////////////////////////////////////////////// class CWiz97WirelessPolGenPage : public CWiz97BasePage { public: CWiz97WirelessPolGenPage(UINT nIDD, UINT nInformativeText, BOOL bWiz97 = TRUE); virtual ~CWiz97WirelessPolGenPage(); // Dialog Data //{{AFX_DATA(CWiz97WirelessPolGenPage) enum { IDD = IDD_PROPPAGE_G_NAMEDESCRIPTION}; CEdit m_edName; CEdit m_edDescription; //}}AFX_DATA virtual void Initialize (PWIRELESS_POLICY_DATA pWirelessPolicyData) { ASSERT( NULL != pWirelessPolicyData ); m_pPolicy = pWirelessPolicyData; // let base class continue initialization CWiz97BasePage::Initialize( NULL); } // Overrides // ClassWizard generate virtual function overrides //{{AFX_VIRTUAL(CWiz97WirelessPolGenPage) public: virtual BOOL OnSetActive(); virtual LRESULT OnWizardBack(); virtual LRESULT OnWizardNext(); virtual BOOL OnApply(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CWiz97WirelessPolGenPage) virtual BOOL OnInitDialog(); afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); afx_msg void OnChangedName(); afx_msg void OnChangedDescription(); //}}AFX_MSG DECLARE_MESSAGE_MAP() BOOL SaveControlData(); UINT m_nInformativeText; LPWSTR * m_ppwszName; LPWSTR * m_ppwszDescription; PWIRELESS_POLICY_DATA m_pPolicy; }; //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. #endif // !defined(AFX_WIZPAGE_H__61D37A46_D552_11D1_9BCC_006008947035__INCLUDED_)