Hallo
Am einfachsten geht es mit einem TTimer:
Delphi-Quellcode:
procedure TForm1.SpeedButton1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
// Timer starten
if Button = mbLeft then
Timer1.Enabled;
end;
procedure TForm1.SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
// Timer anhalten
Timer1.Enabled:= False;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// Zur Sicherheit abfragen, ob die Maustaste noch gedrückt wird
if not GetKeyState(VK_LBUTTON) < 0 then
Timer1.Enabled:= False;
// Code ausführen...
Caption := Caption + '%';
end;