сделал так:
Работает на всех страницах инсталлятора, кроме wpInstalling.
Видел такую функцию в инсталляторах R.G. Catalyst, там работает везде.
Подскажите, пожалуйста, как сделать чтобы работало и у меня.
Код:
const
WM_NCLBUTTONDOWN = $00A1;
HTCAPTION = 2;
WM_NCMOUSEMOVE = $00A0;
GWL_EXSTYLE = -20;
WS_EX_LAYERED = $80000;
LWA_ALPHA = 2;
TransparentPercent = 50;
function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongA@user32.dll stdcall';
function SetLayeredWindowAttributes(hwnd: HWND; crKey: TColor; bAlpha: BYTE; dwFlags: DWORD): Boolean; external 'SetLayeredWindowAttributes@user32.dll stdcall';
procedure EnableTransparencyOnDrag(var Msg: TMsg; var Handled: Boolean);
begin
if (Msg.message = WM_NCLBUTTONDOWN) and (Msg.wParam = HTCAPTION) then
begin
SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes(WizardForm.Handle, 0, (255 * TransparentPercent) / 100, LWA_ALPHA);
Handled := False;
end;
if Msg.message = WM_NCMOUSEMOVE then
begin
SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes(WizardForm.Handle, 0, 255, LWA_ALPHA);
Handled := False;
end;
end;
procedure InitializeWizard;
begin
...
Application.OnMessage := @EnableTransparencyOnDrag;
...
end;
Работает на всех страницах инсталлятора, кроме wpInstalling.
Видел такую функцию в инсталляторах R.G. Catalyst, там работает везде.
Подскажите, пожалуйста, как сделать чтобы работало и у меня.