constructor TMyControl.Create(AOwner: TComponent);
begin
inherited;
end;
destructor TMyControl.Destroy;
begin
inherited;
if Assigned(OldProc) then ReleaseMyWndProc;
end;
procedure TMyControl.MyWndProc(var Message: TMessage);
begin
if Message.Msg = WM_MOVING then
ShowMessage('');
if Assigned(OldProc) then OldProc(Message);
end;
procedure TMyControl.ReleaseMyWndProc;
begin
if Assigned(OldProc) then
parent.WindowProc := OldProc;
end;
procedure TMyControl.SetMyWndProc;
begin
OldProc := Parent.WindowProc;
Parent.WindowProc := MyWndProc;
end;