J'ai un problème avec les évènement d'un composant que je crée qui est sous composant de TEdit.

L'évènement onchange est bien detecté , il affiche donc dans ma Listbox qu'il y a un changement qui s'effectue dans mon composant mais par contre quand je fait un entrée ou un escape il ne m'affiche rien alors qu'il devrait

Voila la partie du code de l'unité du composant qui traite ces 3 évenements:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
...
published
 property Options: TPslEditOptions read FOptions write FOptions;
 property OnValidate : TNotifyEvent read FOnValidate write FOnValidate;
 property OnEscape : TNotifyEvent read FOnEscape write FOnEscape;
 
end; // end des declarations
 
implementation
 
procedure TPslEditEx.KeyPressed (var Key: Char);
begin
   { A completer }
    if Key=#13 then doOnValidate
    else if Key=#27 then doOnEscape;
end;
 
procedure TPslEditEx.doOnValidate;
begin
     FOnValidate(self);
end;
 
procedure TPslEditEx.doOnEscape;
begin
   FOnEscape(self);
end;
Et voici la partie du code qui traite ces évenements dans la Mainfenetre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
procedure TMainFenetre.FormCreate(Sender: TObject);
begin
   keditTP:=TPslEditEx.create(self);
   keditTP.Parent:=self;
   keditTP.Left:=50;
   keditTP.Top:=50;
   keditTP.Align:=alTop;
   keditTP.Name:='Test';
   //Name:='Test';
   //Align:=alTop;
   with keditTP do
   begin
  //Options:=[eoValidateOnReturn, eoRestoreOnEscape]
   keditTP.KeyPressed(key);
   keditTP.OnChange := EditChange;
   keditTP.OnValidate := EditValidate;
   keditTP.OnEscape := EditEscape;
   end;
end;
Il est évident que j'ai du encore écrire 2, 3 bêtises qui font que ca déconne

Je pense que c'est a cause du key car je ne met rien dedans je voulais faire un readkey mais il faut utiliser ctr or ma version ne semble pas connaitre quand je le met dans uses, alors je veus passer outre pour connaitre la key mais comme je trouve pas