Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
Delphi 12 Athens
|
AW: Schnittrahmen proportional - WM_SysCommand
16. Jul 2013, 15:39
Ich habe mir mal erlaubt, den Code leicht zu modifizieren:
Delphi-Quellcode:
procedure TMainForm.OnMessageHandlingHook( var Msg: TMsg; var Handled: Boolean);
var
Direction: Integer;
begin
Handled := False;
if (Msg. message = WM_NCLBUTTONDOWN) then
if (Msg.hwnd = Handle) then
begin
if Msg.wParam in [HTMINBUTTON, HTMAXBUTTON, HTCLOSE] then
Handled := true
else
begin
Direction := -1;
case Msg.wParam of
HTLEFT:
Direction := WMSZ_LEFT;
HTRIGHT:
Direction := WMSZ_RIGHT;
HTTOP:
Direction := WMSZ_TOP;
HTBOTTOM:
Direction := WMSZ_BOTTOM;
HTTOPLEFT:
Direction := WMSZ_TOPLEFT;
HTTOPRIGHT:
Direction := WMSZ_TOPRIGHT;
HTBOTTOMLEFT:
Direction := WMSZ_BOTTOMLEFT;
HTBOTTOMRIGHT:
Direction := WMSZ_BOTTOMRIGHT;
end;
if Direction <> -1 then
begin
ReleaseCapture;
DefWindowProc( Handle, WM_SYSCOMMAND, SC_SIZE or Direction, 0);
Handled := true;
end;
end;
end;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|