00 Votos

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.

ResponderPositivoNegativo

Sobre el Autor

AvatarEl autor aún no ha agregado una breve descripción del perfil.
Ver Perfil

 

Temas Relacionados

Delphi: Iniciar otra Aplicación

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