Interceptar la pulsación de teclas en un formulario
Artículo por Club Developers · 01 marzo 2006
5962 vistas
Para poder capturar la pulsación de las teclas en todo el formulario, tendremos que poner a true la propiedad KeyPreview de éste.
Luego tendremos que codificar el/los eventos deseados:
- OnKeyDown / OnKeyUp: para ver todas las teclas (incluso los clics del ratón)
- OnKeyPress: Para las teclas simples (máquina de escribir) incluida la tecla ESC.
Ejemplo: control de la tecla ESC mediante el evento OnKeyPress:
Para las teclas extendidas (F1, F2,....) hay constantes definidas en la unidad Windows.pas y epiezan todas por "VK_" de Virtual Key. En la ayuda de Delphi (Win32 Programmer's Reference) encontraremos todos los códigos si buscamos Virtual-Key Codes.
Luego tendremos que codificar el/los eventos deseados:
- OnKeyDown / OnKeyUp: para ver todas las teclas (incluso los clics del ratón)
- OnKeyPress: Para las teclas simples (máquina de escribir) incluida la tecla ESC.
Ejemplo: control de la tecla ESC mediante el evento OnKeyPress:
delphi
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin // la pulsación de ESC emite el carácter #27. if (Key = Char(VK_ESCAPE)) then Close ; end;
Para las teclas extendidas (F1, F2,....) hay constantes definidas en la unidad Windows.pas y epiezan todas por "VK_" de Virtual Key. En la ayuda de Delphi (Win32 Programmer's Reference) encontraremos todos los códigos si buscamos Virtual-Key Codes.