2016-06-12 40 views
0

我添加了自定義安裝程序圖像,但是當您組合Aero玻璃窗7時,它們不顯示。有沒有解決方法?在Windows 7中使用Aero玻璃顯示自定義安裝程序圖像

這些圖像是當你點擊它們導致網址:

沒有Aero玻璃

without aero glass

隨着Aero玻璃

with aero glass

我的代碼

[Setup] 
AppName=My Application 
AppVersion=1.5 
DefaultDirName={pf}\My Application 

[Files] 
Source: "face.bmp"; Flags: dontcopy 
Source: "suscri.bmp"; Flags: dontcopy 
Source: "logo.bmp"; Flags: dontcopy 

[Code] 
procedure MyImageClick(Sender: TObject); 
var 
    ErrorCode: Integer; 
begin 
    ShellExec('open', 'http://www.facebook.com/williamsgamer', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode); 
end; 

procedure MyImageClick2(Sender: TObject); 
var 
    ErrorCode2: Integer; 
begin 
    ShellExec('open', 'http://www.youtube.com/williams117gamer', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode2); 
end; 

procedure MyImageClick3(Sender: TObject); 
var 
    ErrorCode3: Integer; 
begin 
    ShellExec('open', 'http://williamsmz98.wix.com/l4d-updates', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode3); 
end; 

procedure CreateMyImage(); 
begin 
    ExtractTemporaryFile('face.bmp'); 
    with TBitmapImage.Create(WizardForm) do 
    begin 
    Parent := WizardForm; 
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\face.bmp')); 
    AutoSize := True; 
    Left := 20; 
    Top := 320; 
    Cursor := crHand; 
    OnClick := @MyImageClick; 
    end; 
end; 

procedure CreateMyImage2(); 
begin 
    ExtractTemporaryFile('suscri.bmp'); 
    with TBitmapImage.Create(WizardForm) do 
    begin 
    Parent := WizardForm; 
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\suscri.bmp')); 
    AutoSize := True; 
    Left := 70; 
    Top := 320; 
    Cursor := crHand; 
    OnClick := @MyImageClick2; 
    end; 
end; 

procedure CreateMyImage3(); 
begin 
    ExtractTemporaryFile('logo.bmp'); 
    with TBitmapImage.Create(WizardForm) do 
    begin 
    Parent := WizardForm; 
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\logo.bmp')); 
    AutoSize := True; 
    Left := 130; 
    Top := 320; 
    Cursor := crHand; 
    OnClick := @MyImageClick3; 
    end; 
end; 

procedure InitializeWizard1; 
begin 
    CreateMyImage(); 
    CreateMyImage2(); 
    CreateMyImage3(); 
end; 
[Setup] 

[Files] 
Source: compiler:Dll Pack\iswin7.dll; Flags: dontcopy 

[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 InitializeWizard2(); 
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, 47, True); 
end; 

procedure DeinitializeSetup2(); 
begin 
    iswin7_free; 
end; 
[Setup] 

[Code] 

procedure InitializeWizard(); 
begin 
    InitializeWizard1(); 
    InitializeWizard2(); 
end; 

procedure DeinitializeSetup(); 
begin 
    DeinitializeSetup2(); 
end; 

回答

0

這是因爲您已將圖像放入透明的區域。

將圖像移動到「內部區域」(灰色區域),它們應該可見。

+0

有沒有辦法可以顯示出來? 好吧,如果沒有,我會被迫放按鈕,謝謝 –

相關問題