Enable wizard 97 style and add a dummy progress page.

svn path=/trunk/; revision=11033
This commit is contained in:
Eric Kohl 2004-09-24 18:52:29 +00:00
parent 109dc19c13
commit 01aff80376
7 changed files with 242 additions and 41 deletions

View file

@ -18,6 +18,8 @@
typedef struct _SETUPDATA
{
HFONT hTitleFont;
TCHAR OwnerName[51];
TCHAR OwnerOrganization[51];
TCHAR ComputerName[MAX_COMPUTERNAME_LENGTH + 1]; /* max. 63 characters */

View file

@ -25,23 +25,28 @@
#define IDC_STATIC -1
#define IDD_WELCOMEPAGE 1000
#define IDC_WELCOMETITLE 1001
#define IDD_OWNERPAGE 1001
#define IDC_OWNERNAME 1002
#define IDC_OWNERORGANIZATION 1003
#define IDD_OWNERPAGE 1002
#define IDC_OWNERNAME 1003
#define IDC_OWNERORGANIZATION 1004
#define IDD_COMPUTERPAGE 1004
#define IDC_COMPUTERNAME 1005
#define IDC_ADMINPASSWORD1 1006
#define IDC_ADMINPASSWORD2 1007
#define IDD_COMPUTERPAGE 1005
#define IDC_COMPUTERNAME 1006
#define IDC_ADMINPASSWORD1 1007
#define IDC_ADMINPASSWORD2 1008
#define IDD_LOCALEPAGE 1008
#define IDC_LOCALETEXT 1009
#define IDC_CUSTOMLOCALE 1010
#define IDC_LAYOUTTEXT 1011
#define IDC_CUSTOMLAYOUT 1012
#define IDD_LOCALEPAGE 1009
#define IDC_LOCALETEXT 1010
#define IDC_CUSTOMLOCALE 1011
#define IDC_LAYOUTTEXT 1012
#define IDC_CUSTOMLAYOUT 1013
#define IDD_PROCESSPAGE 1014
#define IDC_PROCESSPROGRESS 1015
#define IDD_FINISHPAGE 1050
#define IDC_FINISHTITLE 1051
#define IDD_RESTART 2000
@ -57,4 +62,7 @@
#define IDS_LOCALETITLE 3004
#define IDS_LOCALESUBTITLE 3005
#define IDS_PROCESSTITLE 3004
#define IDS_PROCESSSUBTITLE 3005
#endif /* RESOURCE_H */

View file

@ -23,7 +23,7 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Setup"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Welcome to the ReactOS Setup Wizard.", IDC_STATIC, 115, 9, 189, 31
LTEXT "Welcome to the ReactOS Setup Wizard.", IDC_WELCOMETITLE, 115, 9, 189, 31
LTEXT "This wizard installs ReactOS on your computer. The wizard "\
"needs to gather some information about you and your computer "\
"to set up ReactOS properly.", IDC_STATIC, 115, 50, 189, 100
@ -88,12 +88,23 @@ BEGIN
END
IDD_PROCESSPAGE DIALOG 0, 0, 317, 143
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Setup"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Some text...", IDC_STATIC, 53, 7, 253, 20
LTEXT "Some more text...", IDC_STATIC, 53, 29, 253, 20
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
END
IDD_FINISHPAGE DIALOG DISCARDABLE 0, 0, 317, 193
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Completing ReactOS Setup"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Completing the ReactOS Setup Wizard",IDC_STATIC,115,9,195,37
LTEXT "Completing the ReactOS Setup Wizard",IDC_FINISHTITLE,115,9,195,37
LTEXT "You have successfully completed ReactOS Setup.\n\n" \
"When you click Finish, your computer will restart.", IDC_STATIC, 115, 58, 195, 100
LTEXT "If there is a CD in a drive, remove it. Then, to restart "\
@ -113,6 +124,7 @@ BEGIN
PUSHBUTTON "&Restartovat", IDOK, 98, 87, 50, 14
END
STRINGTABLE
BEGIN
IDS_OWNERTITLE "Owner page title"
@ -121,6 +133,8 @@ BEGIN
IDS_COMPUTERSUBTITLE "Computer page subtitle"
IDS_LOCALETITLE "Locale page title"
IDS_LOCALESUBTITLE "Locale page subtitle"
IDS_PROCESSTITLE "Process page title"
IDS_PROCESSSUBTITLE "Process page subtitle"
END
/* EOF */

View file

@ -25,7 +25,7 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Setup"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Willkommen zu den Setup-Assistent von ReactOS.", IDC_STATIC, 115, 9, 189, 31
LTEXT "Willkommen beim ReactOS Setup Assistenten.", IDC_WELCOMETITLE, 115, 9, 189, 31
LTEXT "Dieser Assistent wird ReactOS auf Ihrem Computer installieren. "\
"Der Assistent benötigt ein paar Informationen um ReactOS "\
"zu installieren.", IDC_STATIC, 115, 50, 189, 100
@ -90,12 +90,23 @@ BEGIN
END
IDD_PROCESSPAGE DIALOG 0, 0, 317, 143
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Setup"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Some text...", IDC_STATIC, 53, 7, 253, 20
LTEXT "Some more text...", IDC_STATIC, 53, 29, 253, 20
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
END
IDD_FINISHPAGE DIALOG DISCARDABLE 0, 0, 317, 193
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Fertigstellung des ReactOS Setups"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Fertigstellung des ReactOS Setup Assistenten",IDC_STATIC,115,9,195,37
LTEXT "Fertigstellung des ReactOS Setup Assistenten",IDC_FINISHTITLE,115,9,195,37
LTEXT "Das ReactOS Setup wurde erfolgreich fertiggestellt.\n\n" \
"Wenn Sie auf Fertig klicken, wird der Computer neu gestartet.", IDC_STATIC, 115, 58, 195, 100
LTEXT "Entfernen Sie die CD, wenn vorhanden. Danach klicken Sie "\
@ -126,6 +137,8 @@ BEGIN
IDS_COMPUTERSUBTITLE "Computer page subtitle"
IDS_LOCALETITLE "Locale page title"
IDS_LOCALESUBTITLE "Locale page subtitle"
IDS_PROCESSTITLE "Process page title"
IDS_PROCESSSUBTITLE "Process page subtitle"
END
/* EOF */

View file

@ -25,11 +25,11 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Setup"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Welcome to the ReactOS Setup Wizard.", IDC_STATIC, 115, 9, 189, 31
LTEXT "Welcome to the ReactOS Setup Wizard.", IDC_WELCOMETITLE, 115, 8, 195, 24
LTEXT "This wizard installs ReactOS on your computer. The wizard "\
"needs to gather some information about you and your computer "\
"to set up ReactOS properly.", IDC_STATIC, 115, 50, 189, 100
LTEXT "Click Next to continue with Setup.", IDC_STATIC, 115, 160, 189, 31
"to set up ReactOS properly.", IDC_STATIC, 115, 40, 195, 100
LTEXT "Click Next to continue with Setup.", IDC_STATIC, 115, 169, 195, 17
END
@ -90,16 +90,27 @@ BEGIN
END
IDD_PROCESSPAGE DIALOG 0, 0, 317, 143
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Setup"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Some text...", IDC_STATIC, 53, 7, 253, 20
LTEXT "Some more text...", IDC_STATIC, 53, 29, 253, 20
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
END
IDD_FINISHPAGE DIALOG DISCARDABLE 0, 0, 317, 193
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Completing ReactOS Setup"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Completing the ReactOS Setup Wizard",IDC_STATIC,115,9,195,37
LTEXT "Completing the ReactOS Setup Wizard", IDC_FINISHTITLE, 115, 8, 195, 24
LTEXT "You have successfully completed ReactOS Setup.\n\n" \
"When you click Finish, your computer will restart.", IDC_STATIC, 115, 58, 195, 100
"When you click Finish, your computer will restart.", IDC_STATIC, 115, 40, 195, 100
LTEXT "If there is a CD in a drive, remove it. Then, to restart "\
"your computer, click Finish.", IDC_STATIC, 115, 160, 195, 31
"your computer, click Finish.", IDC_STATIC, 115, 169, 195, 17
END
@ -126,6 +137,8 @@ BEGIN
IDS_COMPUTERSUBTITLE "Computer page subtitle"
IDS_LOCALETITLE "Locale page title"
IDS_LOCALESUBTITLE "Locale page subtitle"
IDS_PROCESSTITLE "Process page title"
IDS_PROCESSSUBTITLE "Process page subtitle"
END
/* EOF */

View file

@ -26,7 +26,7 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Installation de ReactOS"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Bienvenue dans l'assistant d'installation de ReactOS.", IDC_STATIC, 115, 9, 189, 31
LTEXT "Bienvenue dans l'assistant d'installation de ReactOS.", IDC_WELCOMETITLE, 115, 9, 189, 31
LTEXT "Cet assistant installe ReactOS sur votre ordinateur. Il a "\
"besoin de certaines informations sur vous et votre ordinateur "\
"pour configurer ReactOS correctement.", IDC_STATIC, 115, 50, 189, 100
@ -91,12 +91,23 @@ BEGIN
END
IDD_PROCESSPAGE DIALOG 0, 0, 317, 143
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Setup"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Some text...", IDC_STATIC, 53, 7, 253, 20
LTEXT "Some more text...", IDC_STATIC, 53, 29, 253, 20
CONTROL "", IDC_PROCESSPROGRESS, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 53, 70, 253, 8
END
IDD_FINISHPAGE DIALOG DISCARDABLE 0, 0, 317, 193
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Installation de ReactOS"
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "L'assistant d'installation de ReactOS est terminé.",IDC_STATIC,115,9,195,37
LTEXT "L'assistant d'installation de ReactOS est terminé.",IDC_FINISHTITLE,115,9,195,37
LTEXT "Vous avez installé avec succès ReactOS.\n\n" \
"En cliquant sur Terminer, votre ordinateur va redémarrer.", IDC_STATIC, 115, 58, 195, 100
LTEXT "S'il y a un CD dans un lecteur, enlevez-le. Puis, pour redémarrer "\
@ -127,6 +138,8 @@ BEGIN
IDS_COMPUTERSUBTITLE "Computer page subtitle"
IDS_LOCALETITLE "Locale page title"
IDS_LOCALESUBTITLE "Locale page subtitle"
IDS_PROCESSTITLE "Process page title"
IDS_PROCESSSUBTITLE "Process page subtitle"
END
/* EOF */

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: wizard.c,v 1.6 2004/08/28 11:08:50 ekohl Exp $
/* $Id: wizard.c,v 1.7 2004/09/24 18:51:52 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
@ -72,6 +72,32 @@ CenterWindow(HWND hWnd)
}
static HFONT
CreateTitleFont(VOID)
{
NONCLIENTMETRICS ncm;
LOGFONT LogFont;
HDC hdc;
INT FontSize;
HFONT hFont;
ncm.cbSize = sizeof(NONCLIENTMETRICS);
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, &ncm, 0);
LogFont = ncm.lfMessageFont;
LogFont.lfWeight = FW_BOLD;
_tcscpy(LogFont.lfFaceName, TEXT("MS Shell Dlg"));
hdc = GetDC(NULL);
FontSize = 12;
LogFont.lfHeight = 0 - GetDeviceCaps (hdc, LOGPIXELSY) * FontSize / 72;
hFont = CreateFontIndirect(&LogFont);
ReleaseDC(NULL, hdc);
return hFont;
}
BOOL CALLBACK
WelcomeDlgProc(HWND hwndDlg,
UINT uMsg,
@ -82,9 +108,13 @@ WelcomeDlgProc(HWND hwndDlg,
{
case WM_INITDIALOG:
{
PSETUPDATA SetupData;
HWND hwndControl;
DWORD dwStyle;
/* Get pointer to the global setup data */
SetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
hwndControl = GetParent(hwndDlg);
/* Center the wizard window */
@ -98,6 +128,13 @@ WelcomeDlgProc(HWND hwndDlg,
hwndControl = GetDlgItem(GetParent(hwndDlg), IDCANCEL);
ShowWindow (hwndControl, SW_HIDE);
EnableWindow (hwndControl, FALSE);
/* Set title font */
SendDlgItemMessage(hwndDlg,
IDC_WELCOMETITLE,
WM_SETFONT,
(WPARAM)SetupData->hTitleFont,
(LPARAM)TRUE);
}
break;
@ -369,6 +406,81 @@ LocalePageDlgProc(HWND hwndDlg,
}
BOOL CALLBACK
ProcessPageDlgProc(HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
PSETUPDATA SetupData;
/* Retrieve pointer to the global setup data */
SetupData = (PSETUPDATA)GetWindowLong (hwndDlg, GWL_USERDATA);
switch (uMsg)
{
case WM_INITDIALOG:
{
/* Save pointer to the global setup data */
SetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
SetWindowLong(hwndDlg, GWL_USERDATA, (LONG)SetupData);
}
break;
case WM_TIMER:
{
INT Position;
HWND hWndProgress;
hWndProgress = GetDlgItem(hwndDlg, IDC_PROCESSPROGRESS);
Position = SendMessage(hWndProgress, PBM_GETPOS, 0, 0);
if (Position == 300)
{
PropSheet_PressButton(GetParent(hwndDlg), PSBTN_NEXT);
}
else
{
SendMessage(hWndProgress, PBM_SETPOS, Position + 1, 0);
}
}
return TRUE;
case WM_NOTIFY:
{
LPNMHDR lpnm = (LPNMHDR)lParam;
switch (lpnm->code)
{
case PSN_SETACTIVE:
/* Disable the Back and Next buttons */
PropSheet_SetWizButtons(GetParent(hwndDlg), 0);
SendDlgItemMessage(hwndDlg, IDC_PROCESSPROGRESS, PBM_SETRANGE, 0,
MAKELPARAM(0, 300));
SetTimer(hwndDlg, 0, 50, NULL);
break;
case PSN_WIZNEXT:
/* Enable the Back and Next buttons */
PropSheet_SetWizButtons(GetParent(hwndDlg), PSWIZB_BACK | PSWIZB_NEXT);
break;
default:
break;
}
}
break;
default:
break;
}
return FALSE;
}
BOOL CALLBACK
FinishDlgProc(HWND hwndDlg,
UINT uMsg,
@ -379,6 +491,19 @@ FinishDlgProc(HWND hwndDlg,
switch (uMsg)
{
case WM_INITDIALOG:
{
PSETUPDATA SetupData;
/* Get pointer to the global setup data */
SetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam;
/* Set title font */
SendDlgItemMessage(hwndDlg,
IDC_FINISHTITLE,
WM_SETFONT,
(WPARAM)SetupData->hTitleFont,
(LPARAM)TRUE);
}
break;
case WM_NOTIFY:
@ -418,9 +543,8 @@ VOID
InstallWizard(VOID)
{
PROPSHEETHEADER psh;
HPROPSHEETPAGE ahpsp[5];
HPROPSHEETPAGE ahpsp[6];
PROPSHEETPAGE psp;
// SHAREDWIZDATA wizdata;
/* Clear setup data */
ZeroMemory(&SetupData, sizeof(SETUPDATA));
@ -436,50 +560,64 @@ InstallWizard(VOID)
ahpsp[0] = CreatePropertySheetPage(&psp);
/* Create the Owner page */
psp.dwFlags = PSP_DEFAULT; // | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
// psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_OWNERTITLE);
// psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_OWNERSUBTITLE);
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_OWNERTITLE);
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_OWNERSUBTITLE);
psp.pszTemplate = MAKEINTRESOURCE(IDD_OWNERPAGE);
psp.pfnDlgProc = OwnerPageDlgProc;
ahpsp[1] = CreatePropertySheetPage(&psp);
/* Create the Computer page */
psp.dwFlags = PSP_DEFAULT; // | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
// psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_COMPUTERTITLE);
// psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_COMPUTERSUBTITLE);
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_COMPUTERTITLE);
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_COMPUTERSUBTITLE);
psp.pfnDlgProc = ComputerPageDlgProc;
psp.pszTemplate = MAKEINTRESOURCE(IDD_COMPUTERPAGE);
ahpsp[2] = CreatePropertySheetPage(&psp);
/* Create the Locale page */
psp.dwFlags = PSP_DEFAULT; // | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
// psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_LOCALETITLE);
// psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_LOCALESUBTITLE);
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_LOCALETITLE);
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_LOCALESUBTITLE);
psp.pfnDlgProc = LocalePageDlgProc;
psp.pszTemplate = MAKEINTRESOURCE(IDD_LOCALEPAGE);
ahpsp[3] = CreatePropertySheetPage(&psp);
/* Create the Process page */
psp.dwFlags = PSP_DEFAULT | PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_PROCESSTITLE);
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_PROCESSSUBTITLE);
psp.pfnDlgProc = ProcessPageDlgProc;
psp.pszTemplate = MAKEINTRESOURCE(IDD_PROCESSPAGE);
ahpsp[4] = CreatePropertySheetPage(&psp);
/* Create the Finish page */
psp.dwFlags = PSP_DEFAULT | PSP_HIDEHEADER;
psp.pfnDlgProc = FinishDlgProc;
psp.pszTemplate = MAKEINTRESOURCE(IDD_FINISHPAGE);
ahpsp[4] = CreatePropertySheetPage(&psp);
ahpsp[5] = CreatePropertySheetPage(&psp);
/* Create the property sheet */
psh.dwSize = sizeof(PROPSHEETHEADER);
psh.dwFlags = PSH_WIZARD; //97 | PSH_WATERMARK | PSH_HEADER;
psh.dwFlags = PSH_WIZARD97 | PSH_WATERMARK | PSH_HEADER;
psh.hInstance = hDllInstance;
psh.hwndParent = NULL;
psh.nPages = 5;
psh.nPages = 6;
psh.nStartPage = 0;
psh.phpage = ahpsp;
// psh.pszbmWatermark = MAKEINTRESOURCE(IDB_WATERMARK);
// psh.pszbmHeader = MAKEINTRESOURCE(IDB_HEADER);
psh.pszbmWatermark = MAKEINTRESOURCE(IDB_WATERMARK);
psh.pszbmHeader = MAKEINTRESOURCE(IDB_HEADER);
/* Create title font */
SetupData.hTitleFont = CreateTitleFont();
/* Display the wizard */
PropertySheet(&psh);
DeleteObject(SetupData.hTitleFont);
}
/* EOF */