Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Accion con botones del teclado (https://www.clubdelphi.com/foros/showthread.php?t=77907)

krewer 05-03-2012 19:43:03

Accion con botones del teclado
 
Hola amigos, miren se me ocurrio una idea y no se si sea viable. por ejemplo yo podria hacer un codigo donde yo al presionar un boton en mi form, seleccione un boton del teclado y este quede en modo (presionado) hasta que yo le quite la opcion?

en verdad no se si se podra

de todas maneras muchas gracias :D

ecfisa 05-03-2012 20:11:12

Cita:

seleccione un boton del teclado y este quede en modo (presionado) hasta que yo le quite la opcion?
Hola krewer.

Si te referis a una tecla, probá de este modo:
Código Delphi [-]
procedure TForm1.btCtrlPressClick(Sender: TObject);
begin
  keybd_event(VK_CONTROL,0,0,0);
end;

procedure TForm1.btCtrlReleaseClick(Sender: TObject);
begin
  keybd_event(VK_CONTROL,0,2,0);
end;
Busca en la ayuda de Delphi por los diferentes códigos de teclado en: Virtual key codes.

Saludos.

krewer 06-03-2012 22:37:45

Gracias por el codigo eficsa, ahora la pregunta es donde encuentro el evento TForm1.btCtrlPressClick??

ecfisa 06-03-2012 22:54:38

Hola krewer.

Poné dos TButton en el form y hacé doble click sobre Button1, deberías ver algo similar a esto:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin

end;
Copia y pega entre begin y end el código:
Código Delphi [-]
keybd_event(VK_CONTROL,0,0,0);
Que es el encargado de presionar la tecla especificada.
Desde el Object Inspector cambia la propiedad Name de Button1 por el nombre de tu gusto. (En mi caso elegí : btCtrlPress)

Repite los pasos para Button2 con la salvedad que tendrás que copiar/pegar el código:
Código Delphi [-]
keybd_event(VK_CONTROL,0,2,0);
Ya que este se encarga de liberar la tecla presionada.

Saludos.


La franja horaria es GMT +2. Ahora son las 11:17:24.

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