type
TWMMoving = record
M: Cardinal;
fwSide: Cardinal;
lpRect: PRect;
Result: Integer;
end;
TForm1 = class(TForm)
private
{ Private-Deklarationen }
public
procedure WMMoving(var M: TWMMoving); message WM_MOVING;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMMoving(var M: TWMMoving);
var
rct: TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA, 0, @rct, 0);
if M.lprect^.left < rct.left then
OffsetRect(M.lprect^, rct.left - M.lprect^.left, 0);
if M.lprect^.top < rct.top then
OffsetRect(M.lprect^, 0, rct.top - M.lprect^.top);
if M.lprect^.right > rct.right then
OffsetRect(M.lprect^, rct.right - M.lprect^.right, 0);
if M.lprect^.bottom > rct.bottom then
OffsetRect(M.lprect^, 0, rct.bottom - M.lprect^.bottom);
inherited;
end;