The TWizardForm class has a structure like (.dfm format):
object OuterNotebook: TNewNotebook
object WelcomePage: TNewNotebookPage
object WizardBitmapImage: TBitmapImage
object WelcomeLabel2: TNewStaticText
object WelcomeLabel1: TNewStaticText
end
object InnerPage: TNewNotebookPage
object Bevel1: TBevel
object InnerNotebook: TNewNotebook
...
object ReadyPage: TNewNotebookPage
object ReadyMemo: TNewMemo
object ReadyLabel: TNewStaticText
end
...
end
object MainPanel: TPanel
object WizardSmallBitmapImage: TBitmapImage
object PageDescriptionLabel: TNewStaticText
object PageNameLabel: TNewStaticText
end
end
end
Note how the "Welcome" page is on a different level of the hierarchy than the "Ready" page.
For full details, see Wizard.dfm.
To do what you ask for, in the InitializeWizard event function:
- Create copy of the
WizardBitmapImage on the ReadyPage;
- Shrink the
ReadyMemo and ReadyLabel accordingly (use WelcomeLabel2.Left and .Width as a guide).
When the user proceeds to the "Ready" page, in the CurPageChanged event function (with CurPageID = wpReady).
- Hide the
MainPanel (probably also Bevel1);
- Resize the
InnerPage to stretch over the space left by the MainPanel. You can probably just make it as large as its parent InnerPage is.
(And undo this if the user presses "Back").