Delphi: Las Teclas de Función como F1, F2 y F3 no funcionan en el evento FormKeyDown
Pregunta de Invitado | 15/06/2021 a las 15:55
En el evento FormKeyDown, quiero reaccionar a las teclas de función (F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11 y F12) y asignar una acción apropiada (HotKey). Para esto utilizo el siguiente código:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_F1 then Function1(); if Key = VK_F2 then Function2(); if Key = VK_F3 then Function3(); //usw end;
Problema: Por alguna razón, no funciona. Aparentemente, al presionar F1, ni siquiera se llama al evento FormKeyDown del formulario. ¿Qué estoy haciendo mal? He comprobado el código muchas veces y con todas las demás claves virtuales como VK_SPACE, funciona perfectamente. ¡Solo con las teclas de función hay un problema!
Temas Relacionados
Delphi/Lazarus: ¿Está presionada la tecla ALT, SHIFT o CTRL?
Tutorial | 0 Comentarios
Delphi/Lazarus: Seleccionar todo con CTRL+A en ListView
Consejo | 0 Comentarios
Delphi/Lazarus: Mostrar Array de Bytes como Cadena de Valores HEX
Consejo | 0 Comentarios
Lazarus: Cargar Archivo como Array de Bytes y Guardar Array de Bytes como Archivo
Tutorial | 0 Comentarios
CSS: Cómo incluir CSS en HTML
Tutorial | 0 Comentarios
Delphi/Lazarus: Mostrar Fecha y Hora actuales
Consejo | 0 Comentarios
jQuery: Mostrar y Ocultar Elementos
Tutorial | 0 Comentarios
Aviso Importante
Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.
Participar
Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.
Su código puede permanecer exactamente como está, solo intente iniciar el programa fuera del IDE.
Cuando está ejecutando el programa en Delphi, las teclas de función son asignadas por Delphi para controlar el programa y para la depuración del programa y, por lo tanto, no puede acceder a su evento clave a través de OnKeyDown.
Pero si inicia el programa fuera de Delphi, debería funcionar.
16/06/2021 a las 23:34
¡Yo tuve el mismo problema! ¡Y esa es la solución! ¡Muchas muchas gracias!
¡Sin tu propina, nunca podría conseguirla!
29/06/2021 a las 23:20
Con Delphi Sydney esto no es una opción: F1 también se ignora "afuera".
20/06/2021 a las 14:09
Entonces probablemente sea otra cosa.
Por ejemplo, ¿Ha olvidado establecer KeyPreview en true?
20/06/2021 a las 15:14