2012-06-21 14 views
5

Ho creato una pagina di benvenuto personalizzata con un'immagine su di essa, ma il pannello principale in alto rimane da visualizzare. Per quello che voglio ottenere immagine vedete qui sotto:Come nascondere il pannello principale e mostrare un'immagine su tutta la pagina?

enter image description here

Ecco il codice:

[Code] 
procedure InitializeWizard; 
var 
    BitmapFileName: string; 
    BitmapImage: TBitmapImage; 
    WelcomePage: TWizardPage; 
begin 
    WelcomePage := CreateCustomPage(wpWelcome, '', '');  

    BitmapFileName := ExpandConstant('{tmp}\DataNova_Logo.bmp'); 
    ExtractTemporaryFile(ExtractFileName(BitmapFileName)); 

    BitmapImage := TBitmapImage.Create(WelcomePage); 
    BitmapImage.AutoSize := True; 
    BitmapImage.Bitmap.LoadFromFile(BitmapFileName); 
    BitmapImage.Cursor := crHand; 
    BitmapImage.Left := 10; 
    BitmapImage.Top := 10; 
    BitmapImage.Parent := WelcomePage.Surface; 
end; 

Come mostrare l'immagine su tutta la pagina con il pannello principale nascosta?

+0

Se non si desidera utilizzare la propria soluzione ti posso consigliare questo progetto per la creazione di installatori fresche dalla pelle Inno: http: //graphical-installer.com. Immagine: http://graphical-installer.com/joomla/images/stories/gallery/projects/gallery-18.jpg – Slappy

+0

@Slappy, o se avete AlphaSkins ad esempio e Delphi o se avete Delphi XE2 con skin VCL create -in cui puoi semplicemente ricostruire il tuo InnoSetup. Oh, capisco, mi dispiace che tu sia l'autore :-) – TLama

+0

@TLama: Questo è esattamente il motivo per cui consiglio di usare il mio strumento piuttosto che scrivere da zero. Pochi anni fa volevo anche creare un fantastico programma di installazione per il mio software e ho deciso di modificare l'installazione di Inno. E 'stato terribile !!! Ho dovuto scaricare e installare cvs/svn/git, scaricare inno sources (in pascal), installare Delphi 7, impostare le variabili di ambiente e compilare tutto (prima volta). Di aggiungere il supporto per la pelle, creare soluzioni intere ecc. L'utilizzo di questo prodotto professionale è molto più comodo e veloce per l'utente normale. – Slappy

risposta

7

È necessario nascondere i componenti Bevel1, MainPanel e InnerNotebook quando si passa alla pagina di benvenuto e mostrati di nuovo quando si esce. Al contrario, l'immagine che devi mostrare solo quando stai visualizzando la tua pagina di benvenuto poiché copre l'intera area della pagina. Così il seguente codice farà il trucco:

[Code] 
var 
    WelcomePageID: Integer; 
    BitmapImage: TBitmapImage; 

procedure InitializeWizard; 
var 
    WelcomePage: TWizardPage; 
begin 
    WelcomePage := CreateCustomPage(wpWelcome, '', ''); 
    WelcomePageID := WelcomePage.ID; 
    BitmapImage := TBitmapImage.Create(WizardForm); 
    BitmapImage.Bitmap.LoadFromFile('C:\Image.bmp'); 
    BitmapImage.Top := 0; 
    BitmapImage.Left := 0; 
    BitmapImage.AutoSize := True; 
    BitmapImage.Cursor := crHand; 
    BitmapImage.Visible := False; 
    BitmapImage.Parent := WizardForm.InnerPage; 
end; 

procedure CurPageChanged(CurPageID: Integer); 
begin 
    BitmapImage.Visible := CurPageID = WelcomePageID; 
    WizardForm.Bevel1.Visible := CurPageID <> WelcomePageID; 
    WizardForm.MainPanel.Visible := CurPageID <> WelcomePageID; 
    WizardForm.InnerNotebook.Visible := CurPageID <> WelcomePageID; 
end; 
+0

Funziona così bene! FWIW - una buona dimensione dell'immagine è 750 x 460 px – SlowLearner

+0

Per domande simili, vedere [Inno Setup - Immagine come sfondo dell'installatore] (https://stackoverflow.com/q/41049054/850848) (immagine di sfondo su tutta la finestra) o [Immagine che copre tutta la pagina in Inno Setup] (https://stackoverflow.com/q/44471989/850848) (immagine di sfondo su tutta la pagina, tra "intestazione" e "piè di pagina"). –

Problemi correlati