2016-04-05 5 views
3

Я работал над дизайном Inno Setup, когда я столкнулся с этим могучим вопросом передо мной ... Как сделать Wizard формой полупрозрачной?Полупрозрачная форма мастера

Я тоже знаю Delphi, поэтому я думаю, что если мы сможем использовать FMX Fill.Color и transparency=true с Inno Setup?

настоящее время я использую эту функцию для создания мастера:

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 прозрачной? (снимок экрана)] (http://stackoverflow.com/q/27031922/850848) –

+1

Inno Setup не основан на FMX, но VCL. –

ответ

0

ли функция, которую Вы пытаетесь достичь называется Aero (с Windows Vista)?

Я думаю, что это невозможно сделать в чистой Inno Setup.

Aero

Проверить этот NSIS плагин: http://nsis.sourceforge.net/Aero_plug-in. Он с открытым исходным кодом и использует некоторые функции Windows API - для вдохновения.

+0

Существует такой плагин для Inno, но он будет работать только для Vista и 7. – RobeN

1

Существует плагин Inno Setup для NSIS, который называется IsWin7 или MegaFileUpload.

Он работает для 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]: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;