Delphi/Lazarus: Cerrar Programa con la Tecla ESC
Consejo de Delphieño | 25/06/2021 a las 22:20
En este tutorial, me gustaría mostrarle cómo puede salir su aplicación Delphi o Lazarus con solo presionar la tecla de escape (ESC) en su teclado.
En el OnCreate del Form, debe escribir el siguiente código o, alternativamente, puede establecer KeyPreview en el Object Inspector en true.
procedure TForm1.FormCreate(Sender: TObject); begin KeyPreview := true; end;
En OnKeyPress, debe escribir el siguiente código (el código #27 significa ESC):
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = #27 then Close; end;
Se podría pensar que el fragmento de código inferior es suficiente, pero esto no es cierto. Si solo escribe el código inferior en su OnKeyPress, el programa solo se cerrará si la ventana de su programa tiene el foco. Si otro elemento (por ejemplo, un Memo) tiene el foco, solo el Memo recibe el mensaje de que se presionó la tecla y no el formulario.
Pero si establecemos KeyPreview en true, el formulario siempre recibe una notificación cuando se presiona una tecla antes de pasarla al elemento activo. Y esa es la única forma de manejar el evento de la tecla ESC.
Sobre el Autor
El autor aún no ha agregado una breve descripción del perfil.
Ver Perfil
Temas Relacionados
Delphi/Lazarus: ¿Está presionada la tecla ALT, SHIFT o CTRL?
Tutorial | 0 Comentarios
Renombrar Archivos en sus Nombres de Carpeta
Tutorial | 0 Comentarios
VirtualBox: Cambiar la Fecha y la Hora
Tutorial | 10 Comentarios
Lazarus: Detectar el Sistema Operativo (Compiler Switch)
Tutorial | 0 Comentarios
CSS: Cómo incluir CSS en HTML
Tutorial | 0 Comentarios
Convertir los Valores de Color RGB, CMYK, CMY, HSV, TColor y XYZ
Tutorial | 0 Comentarios
Linux: Cómo marcar un Archivo de Programa como ejecutable
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.