Maybe you can extract something from this phenomenon:
procedure TForm1.Panel3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
N :integer = 0;
begin
MouseCapture := True;
while MouseCapture do
begin
Panel3.Canvas.TextOut(0,0, IntToStr(N)+'----------');
Application.ProcessMessages;
Inc(n);
end;
end;