Delphi

Fermé
beida - 11 févr. 2002 à 14:27
 zeus - 11 févr. 2002 à 16:57
comment utiliser les touches de clavier pour fermer une fenete
en mode d'execution dans une application.(par exple echape)
A voir également:

2 réponses

mmm... tu peux utiliser l'évènement 'OnKeyDown' (ou qqchose comme ça, je n'ai pas Delphi sous les yeux) et dans la méthode, mettre un application.terminate() pour fermer l'application.
0
ce que te propose sebsauvage fonctionne mais sous certaines conditions :
-le composant doit recevoir le focus
-le composant doit evidemment avoir une gestionnaire d'événement OnKeyDown

l'inconvénient est que si tu veux généraliser la procédure tu risques d'appliquer ton bout (application.terminate) de code pour chaque composant.

voici une alternative avec fermeture par ECHAP (peu importe le composant recevant le focus) :

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
//rajoute ceci
procedure AppMessage(var msg: TMsg; var handled: boolean);
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

//rajoute ceci
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin

case msg.message of
WM_KEYDOWN:
begin
if (Msg.wParam = 27) then //touche ECHAP
application.Terminate;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
//et enfin rajoute ceci
Application.OnMessage := AppMessage;
end;

end.


@+
0