I want to make an installer with a custom look and disabled the titlebar by setting the BorderStyle
to bsNone
.
Now I cannot move the window
No. There's no way to handle messages or alter the WndProc
for controls. There was a little chance to implement the undocumented drag move like in this post, but unfortunately InnoSetup doesn't have mouse down events published for scripting, so you're out of luck without some external libary.
Using the library and code you've mentioned; you are missing the ReleaseCapture
function call. Use this script code instead (and don't forget, that the only bare part of the wizard form is on bottom left):
[Code]
function ReleaseCapture: BOOL;
external 'ReleaseCapture@user32 stdcall';
const
SC_DRAGMOVE = $F012;
WM_SYSCOMMAND = $0112;
procedure OnMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
WizardForm.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);
end;
procedure InitializeWizard;
begin
WizardForm.OnMouseDown := @OnMouseDown;
end;