PDA

Ver la Versión Completa : Capturar teclas a nivel de Aplicacion


bustio
19-01-2005, 01:01:17
Hola Comunidad!!!

Mi problema hoy no dudo que sea sencillo, entonces acudo a uds para que me ayuden. Resulta que estoy haciendo una aplicacion de bases de datos y necesito que cuando se presione F5 se ejecute un procedimiento que lo que hace es consultar todos mis datos y actualizar los de la aplicacion con los del servidor. Por eso necesito que cuando presione F5 en cualquier lugar de la aplicacion se refresquen mis datos.... alguien puede decirme como logro esto??

GRACIAS!!!

Lazaro Bustio Martinez

Pablo Carlos
19-01-2005, 01:14:01
en el evento onkeypress
pones este código

if (Key = #2) then
begin
end;

donde el número dos corresponde a ctrl + b...
no se cual número corresponde a f5 :( pero seguramente lo encontraremos
Saludos

buitrago_listas
19-01-2005, 03:44:01
Y en este ejemplo, hay que hacerlo en los controles.

Umm, yo tambien neceistaria esta respues, pero seguroi tiene que ver presisamente con el pase de mensajes de Windows.

Saludos

Fer

burasu
19-01-2005, 12:02:39
La tecla F5 es el valor '116', pero el inconveniente es que debe usar ese evento en el keyUp, y no en el KeyPress.

donde el ejemplo del amigo Pablo Carlos sería así:

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Shift = [] then // Nos aseguramos que no se ejecute en caso que el usuario pulse las teclas Control y/o Alt.
begin
if key = 116 then ShowMessage('Hola Mundo'); // Presionamos la tecla F5
end;
end;


Obviamente para que esto funcione correctamente debes tener la propiedad KeyPreview del Formulario a True, si no no funcionará.

Gydba
19-01-2005, 12:59:21
Hola,

Como dato complementario a todo lo dicho y si a alguien le sirve, en trucomanía hay un ejemplo de como capturar HotKeys globales:
http://www.q3.nu/trucomania/truco.cgi?426&esp

Saludos!