2016-04-05 98 views
3

當我在面前遇到這個強大的問題時,我正在研究Inno Setup設計......如何使嚮導窗體變爲半透明?半透明嚮導表格

我也知道德爾福,所以我在想如果有什麼辦法,我們可以在Inno Setup上使用FMX的Fill.Colortransparency=true

我目前使用該功能嚮導創建:

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; 

問候
拉米羅

+1

參見[如何使Inno Setup的頁面底部透明? (屏幕截圖)](http://stackoverflow.com/q/27031922/850848) –

+1

Inno Setup不是基於FMX,而是基於VCL的。 –

回答

0

是你想的功能來實現所謂的航空(從Windows Vista)?

我認爲這是不可能在純Inno Setup中做到的。

Aero

檢查這個NSIS插件:http://nsis.sourceforge.net/Aero_plug-in。 它是開放源代碼並使用一些Windows API函數 - 以獲得靈感。

+0

Inno有這樣的插件,但它只適用於Vista和7。 – RobeN

1

NSIS有Inno Setup插件,名稱爲IsWin7MegaFileUpload

它適用於Windows Vista和Windows 7 - 兩個系統均支持Aero效果。

請記住,iswin7.dll是非官方的。 樣品:

[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]es: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;