2012-05-27 20 views
5

voglio aggiungere pulsanti progettati su misura per il mio Inno Script con la classe TBitmapImage.Inno Setup: TBitmapImage non viene visualizzato

Il mio script Inno Setup sta compilando bene, ma la bitmap non viene visualizzata in forma. Ho esaminato tutte le possibilità ma non riesco a trovare l'errore che ho fatto. È così che la parte TBitmapImage assomiglia atm:

procedure CreateMuteButton(ParentForm: TSetupForm); 
var 
    MuteImage: TBitmapImage; 
    BitmapFileName: String; 
begin 
    BitmapFileName := ExpandConstant('{tmp}\muteBtn.bmp'); 
    ExtractTemporaryFile(ExtractFileName(BitmapFileName)); 
    MuteImage := TBitmapImage.Create(ParentForm); 
    MuteImage.Bitmap.LoadFromFile(BitmapFileName); 
    MuteImage.Cursor := crHand; 
    MuteImage.OnClick := @MuteButtonOnClick; 
    MuteImage.Parent := ParentForm; 
    MuteImage.Left := 45; 
    MuteImage.Top := 80 
    MuteImage.Width := 38; 
    MuteImage.Height := 50; 
end; 

procedure InitializeWizard(); 
var 
    val: Integer; 
begin 
    CreateMuteButton(WizardForm); 
    (...) 
end; 
+0

non si vede nulla di sbagliato con il codice, provare MuteImage.BringToFront(); potrebbe essere che l'ordine z si stia accumulando. –

+0

Ho aggiunto che, non ha aiutato:/ Ho bisogno di specificare qualcosa nel()? Non riesco a trovare questo nella documentazione. – PTS

+0

Nessun argomento su BringToFront. Non hanno fatto Innosetup per anni, ma IOF ho avuto questo problema in un'applicazione Delphi, Forggetting per impostare genitore, bringtofont, o semplicemente il genitore sbagliato sarebbe il livello qualitativo vorrei cercare. –

risposta

5

L'area WizardForm client stesso è visibile solo al di sotto della linea di fondo smussato. Oltre a questo è WizardForm.InnerPage, e le singole pagine guidata corrente/nel mezzo contenuti in un privato InnerNotebook.

Questo mette l'immagine a sinistra delle pagine:

MuteImage := TBitmapImage.Create(WizardForm.InnerPage); 
MuteImage.Parent := WizardForm.InnerPage; 
MuteImage.Left := 0; 
{ Uses the top of the wizard pages to line up } 
MuteImage.Top := WizardForm.SelectDirPage.Parent.Top; 

considerando che lo mette nella sezione inferiore:

MuteImage := TBitmapImage.Create(WizardForm); 
MuteImage.Parent := WizardForm; 
MuteImage.Left := 0; 
{ Below the inner page } 
MuteImage.Top := WizardForm.InnerPage.Height; 
+0

Grazie mille per aver fatto il lavoro! :) Buono a sapersi su quelle aree diverse. – PTS

Problemi correlati