Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con el GetasyncKeyState (https://www.clubdelphi.com/foros/showthread.php?t=92500)

Milworm99 14-11-2017 19:25:53

Problema con el GetasyncKeyState
 
Hola gente de la comunidad delphi, tengo un problema con este código

Código:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (GetasyncKeyState($70)<0) then  // Tecla F1 //
begin
Label1.Caption:= 'Activado';
end
else
begin
Label1.Caption:= 'Desactivado';
end
end;
end.

Lo que quiero es que al presionar por primera ves la tecla F1, me salga en el label 'Activado', luego al presionar la tecla F1 por segunda ves me salga el mensaje en el mismo label 'Desactivado', y asi sucesivamente al presionar dicha tecla.

Yo e estado haciéndolo así pero no funciona

Espero que me ayuden, gracias por adelantado :)

Casimiro Notevi 14-11-2017 22:54:11

No creo que sea necesario un timer, supongo que podrás hacerlo en la pulsación de la propia tecla.

Milworm99 14-11-2017 23:07:19

Cita:

Empezado por Casimiro Notevi (Mensaje 522507)
No creo que sea necesario un timer, supongo que podrás hacerlo en la pulsación de la propia tecla.

Como lo puedo hacer ?

orodriguezca 15-11-2017 16:24:05

Cita:

Empezado por Milworm99 (Mensaje 522508)
Como lo puedo hacer ?

Creo que la forma más sencilla es mediante un TAction:

- Colocas un componente de tipo TActionList en el formulario.
- Al componente ActionList le adicionas una acción (Action1, por ejemplo).
- A esa acción le asignas como "ShortCut" la tecla F1 (propiedad ShortCut de la acción).
- En el evento Execute de la acción escribes un código similar a esto:

Código Delphi [-]
procedure TForm1.Action1Execute(Sender: TObject);
begin
  if Label1.Caption = 'Activado' then
     Label1.Caption := 'Desactivado'
  else
     Label1.Caption := 'Activado';
end;


La franja horaria es GMT +2. Ahora son las 01:18:06.

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