PDA

Ver la Versión Completa : Teclas F!,F2,F3 etc


tulio
10-06-2003, 12:31:57
Buen dia Foro

Lo que quiero hacer es cuando un usuario presione la tecla F1 se dispare el onclick de un boton, si presiona F2 que se ejecute el onclick de otro boton, etc.
Pienso que debe ser algo sencillo pero no me sale.

Muchas gracias por adelantado y saludos

tulio

__cadetill
10-06-2003, 13:39:13
para hacer esto te recomiendo que le eches una ojeada al componente TActionList (de Delphi 5 para adelante). En el puedes crearte tus acciones y asignarle ShortCuts

Si tienes dudas de su manejo, pregunta por aqui ;)

tulio
10-06-2003, 17:24:51
Gracias Cadetill

lo voy a probar

saludos tulio

jfontane
10-06-2003, 18:03:27
Otra forma seria programar el evento Onkeydown (algo asi) del objeto al que le vas a hacer F3 o F4 o Floque sea.

este evento tiene como argumento key como Onkeypress pero a diferencia que este es de tipo word.
El codigo seria algo asi.


if (key=VK_F3) then button1.onclick(sender)
else if (key=VK_F4) then button2.onclick(sender);

esto lo use yo y anda al pelo.

Salu2

tulio
11-06-2003, 12:48:32
Gracias Jfontane

tu ejemplo anda, el problema es que tenes que estar parado sobre el boton que queres que tome la tela F1, F2 etc. Si en un form tenes 5 botones que queres dispar con las 5 teclas F1......
no andaria.

saludos tulio

igest2000
11-06-2003, 15:00:30
BUenas!!
La solución de programar el OnKeyDOwn, como has dicho no funciona a menos que estes en el componente sobre el que la has programado, por ello lo que puedes hacer es programar un evento que sirva para todos en un procedure aparte y asignarlo al OnKeyDown de todos los elementos.....

tulio
11-06-2003, 16:41:37
Gracias igest2000

Probe esa solucion y anda

Saludos tulio

__cadetill
11-06-2003, 16:48:27
Posteado originalmente por igest2000
La solución de programar el OnKeyDOwn, como has dicho no funciona a menos que estes en el componente sobre el que la has programado

Bueno, si programas el OnKeyDown del componente TForm y pones la propiedad KeyPreview a true, si que funciona

tulio
11-06-2003, 18:32:09
Gracias Cadetill

Asi quedo como yo queria

saludos tulio

Pd. Gracias a todos los que se interesaron en el tema.