PDA

Ver la Versión Completa : hot keys


alfil123
25-04-2007, 00:48:46
hola amigos tengo un problemita, deseo que un boton se active cuando preciono un tecla, por ejemplo si perciono I se debe activar el boton ingreso para ingresar un nuevo registro y seguir el procedimiento que se efectua cuando se presiona con el mouse el boton ingreso , gracias

dec
25-04-2007, 01:40:23
Hola,

Lo que puedes hacer es utilizar Acciones ("TAction"), por ejemplo. Asignas al evento "OnClick" el evento "OnExecute" de una determinada acción, y a esta última le asignas un "acceso directo", una tecla o combinación de teclas para que se ejecute -la acción. Eso en principio. Suponiendo que la "tecla" o "teclas" se pulsaran siempre mientras tu aplicación tenga el foco del usuario, puesto que de otro modo sí que habría que utilizar "HotKeys".

Pero igual da: cada "hotkey" no "activaría el evento OnClick" de un botón, sino que ejecutaría un procedimiento. A dicho procedimiento podría también llamársele desde el evento "OnClick" de un botón. En este reciente hilo (http://www.clubdelphi.com/foros/search.php?searchid=681406) se trata en parte sobre las dificultades de "llamar a eventos", pudiendo tener procedimientos preparados para llamarlos desde cualquier sitio que haga falta, incluso desde eventos, si es necesario.

Lepe
25-04-2007, 01:43:23
Lo mejor para esto es un componente ActionList (está en las 3 primeras pestañas de componentes). Tienen una propiedad ShortCut que quizás te sirva.

Es normal que se deba pulsar otra tecla (CTRL, SHIFT, ALT) con la tecla elegida, de lo contrario, no podríamos pulsar la tecla "i" en un edit.

Saludos

dec
25-04-2007, 01:50:16
Hola,


Es normal que se deba pulsar otra tecla (CTRL, SHIFT, ALT) con la tecla elegida, de lo contrario, no podríamos pulsar la tecla "i" en un edit.


Así es la verdad. :)

Edito: Tal vez se podría añadir que si se trata de un formulario que contiene varios controles y un botón, digamos, puede asociarse una tecla "aceleradora" al botón mediante su propiedad "Caption", tal que así:


Caption := '&Abrir';


De ese modo cuando el usuario pulse la tecla "ALT" se subrayará la letra "A" del botón y si el usuario pulsa la tecla "A" se ejecutará el evento "OnClick" del botón.