Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Ejecutar código mientras pulso un botón (https://www.clubdelphi.com/foros/showthread.php?t=4554)

BECERRA 20-10-2003 15:26:12

Ejecutar código mientras pulso un botón
 
Hola colegas. Me sabría decir alguien como puedo ejecutar el codigo que tengo dentro de una botón mientras lo mantengo pulsado.

P.ej. Hago un Query.next en el onclick y me desplazo por los registros del query mientras esté pulsado.

Saludos.

delphi.com.ar 20-10-2003 16:51:34

Te recomiendo investigar el código del TSpinEdit.

Saludos!

marcoszorrilla 20-10-2003 20:11:19

Mira este ejemplo, necesitas un Timer y aquí tienes el código:

Código:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Adoquery1.Next;
end;

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Timer1.Enabled:=True;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Timer1.Enabled:=False;
end;

Un Saludo.

roman 20-10-2003 20:31:24

Otra opción:

Declaras una variable MouseUp de tipo booleano en tu formulario y escribes eventos OnMouseDown y OnMouseUp del botón como sigue:

Código:

procedure TForm1.Button1MouseDown(...);
begin
  MouseUp := false;
  repeat
    Query.Next;
    Application.ProcessMessage;
  until MouseUp;
end;

procedure TForm1.Button1MouseUp(...);
begin
  MouseUp := true;
end;

// Saludos

roman 20-10-2003 20:36:09

Bien visto me gusta más la opción de marcoszorrilla porque así puedes controlar la velocidad de avance. Con mí opción la velocidad es inútilmente demasiado rápida :D .

// Saludos

BECERRA 21-10-2003 00:17:55

Ok.


La franja horaria es GMT +2. Ahora son las 00:26:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi