22 Votos

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!

ResponderPositivoNegativoFechaVotos
2Mejor Respuesta2 Votos

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

ResponderPositivo Negativo
00 Votos

¡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

Positivo Negativo
Responder
00 Votos

Con Delphi Sydney esto no es una opción: F1 también se ignora "afuera".
20/06/2021 a las 14:09

ResponderPositivo Negativo
11 Voto

Entonces probablemente sea otra cosa.

Por ejemplo, ¿Ha olvidado establecer KeyPreview en true?
20/06/2021 a las 15:14

Positivo Negativo
Responder
Responder

Temas Relacionados

CSS: Cómo incluir CSS en HTML

Tutorial | 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.