windows-nt/Source/XPSP1/NT/net/layer2svc/wlsnp/wiz97pg.h
2020-09-26 16:20:57 +08:00

155 lines
4.9 KiB
C++

#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<CSecPolItem> *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_)