2016-04-05 12 views
3

Ich arbeitete an einem Inno Setup-Design, als ich diese mächtige Frage vor mir stellte ... Wie man den Wizard Form halbtransparent machen?Semi-Transparent Wizard Form

Ich kenne Delphi auch, also denke ich, wenn es irgendeinen Weg gibt, können wir FMX Fill.Color und transparency=true mit Inno Setup verwenden?

ich zur Zeit mit dieser Funktion für Wizard Erstellung:

procedure CreateWizardForm; 
begin 
    with WizardForm do begin 
    BorderStyle:=bsNone; 
    ClientWidth:=900; 
    ClientHeight:=540; 
    InnerNotebook.Hide; 
    OuterNotebook.Hide; 
    Center; 
    Bevel.Hide; 
    NextButton.Width:=0; 
    CancelButton.Width:=0; 
    end; 

    Form:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}')+'\form.png',0,0,900,540,True,True); 
end; 

Grüße
Ramiro

+1

Siehe auch [So machen Sie den unteren Teil der Inno Setup-Seiten transparent? (Screenshot gegeben)] (http://stackoverflow.com/q/27031922/850848) –

+1

Inno Setup basiert nicht auf FMX, sondern VCL. –

Antwort

0

Ist die Funktion, die Sie genannt zu erreichen versuchen Aero (ab Windows Vista)?

Ich denke, das ist in reinem Inno-Setup nicht möglich.

Aero

prüfen diese NSIS-Plug-in: http://nsis.sourceforge.net/Aero_plug-in. Es ist Open Source und nutzt einige Windows API-Funktionen - zur Inspiration.

+0

Es gibt ein solches Plugin für Inno, aber es funktioniert nur für Vista und 7. – RobeN

1

Es gibt ein Inno-Setup-Plug-In für NSIS mit der Bezeichnung IsWin7 oder MegaFileUpload.

Es funktioniert für Windows Vista und Windows 7 - beide Systeme unterstützen Aero-Effekte. Bitte beachten Sie, dass iswin7.dll nicht offiziell ist. Beispiel:

[Files] 
Source: ".\ISWin7.dll"; DestDir: "{tmp}"; Flags: dontcopy nocompression 

[Code] 
procedure iswin7_add_glass(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean); 
    external '[email protected]:iswin7.dll stdcall'; 
procedure iswin7_add_button(Handle:HWND); 
    external '[email protected]:iswin7.dll stdcall'; 
procedure iswin7_free; 
    external '[email protected]:iswin7.dll stdcall'; 

procedure InitializeWizard(); 
begin 
    iswin7_add_button(WizardForm.BackButton.Handle); 
    iswin7_add_button(WizardForm.NextButton.Handle); 
    iswin7_add_button(WizardForm.CancelButton.Handle); 
    iswin7_add_glass(WizardForm.Handle, 0, 0, 0, ScaleY(47), True); 
end; 

procedure DeinitializeSetup(); 
begin 
    iswin7_free; 
end;