windows-nt/Source/XPSP1/NT/printscan/fax/setup/ocm/wizard.cpp
2020-09-26 16:20:57 +08:00

104 lines
2.3 KiB
C++

#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] );
}