|
|
#include "faxocm.h"
#pragma hdrstop
typedef enum { WizPageWelcome, WizPageEula, WizPageFinal, WizPageMaximum } WizPage;
WIZPAGE SetupWizardPages[WizPageMaximum] = { { PSWIZB_NEXT, WizPageWelcome, IDD_WELCOME, WelcomeDlgProc, 0, 0 }, { PSWIZB_NEXT|PSWIZB_BACK, WizPageEula, IDD_EULA, EulaDlgProc, IDS_EULA_TITLE, IDS_EULA_SUBTITLE }, { PSWIZB_FINISH, WizPageFinal, IDD_FINAL, FinalDlgProc, 0, 0 } };
HPROPSHEETPAGE CreateWizardPage( PWIZPAGE WizPage ) { WCHAR TitleBuffer[256]; PROPSHEETPAGE WizardPage;
WizardPage.dwSize = sizeof(PROPSHEETPAGE); if (WizPage->Title == 0) { WizardPage.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER; } else { WizardPage.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE; } WizardPage.hInstance = hInstance; WizardPage.pszTemplate = MAKEINTRESOURCE(WizPage->DlgId); WizardPage.pszIcon = NULL; WizardPage.pszTitle = NULL; WizardPage.pfnDlgProc = CommonDlgProc; WizardPage.lParam = (LPARAM) WizPage; WizardPage.pfnCallback = NULL; WizardPage.pcRefParent = NULL; WizardPage.pszHeaderTitle = NULL; WizardPage.pszHeaderSubTitle = NULL;
if (WizPage->Title) { if (LoadString( hInstance, WizPage->Title, TitleBuffer, sizeof(TitleBuffer)/sizeof(WCHAR) )) { WizardPage.pszHeaderTitle = _wcsdup( TitleBuffer ); } }
if (WizPage->SubTitle) { if (LoadString( hInstance, WizPage->SubTitle, TitleBuffer, sizeof(TitleBuffer)/sizeof(WCHAR) )) { WizardPage.pszHeaderSubTitle = _wcsdup( TitleBuffer ); } }
return CreatePropertySheetPage( &WizardPage ); }
HPROPSHEETPAGE GetWelcomeWizardPage( VOID ) { return CreateWizardPage( &SetupWizardPages[0] ); }
HPROPSHEETPAGE GetEulaWizardPage( VOID ) { return CreateWizardPage( &SetupWizardPages[1] ); }
HPROPSHEETPAGE GetFinalWizardPage( VOID ) { return CreateWizardPage( &SetupWizardPages[2] ); }
|