Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1703 connectés 

  FORUM HardWare.fr
  Programmation

  [Delphi] - Question d'héritage (pour les pros)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] - Question d'héritage (pour les pros)

n°17882
Zero Cool
D'abord arrêter le chimique...
Posté le 09-03-2001 à 16:38:30  profilanswer
 

Bon voila, c'est tout con: je fais un composant TEdit customisé, qui a un comportement par défaut pour l'évènement OnKeyPress. MAIS, quand j'instancie mon composant, pas moyen de mettre un inherited dans la procédure qui prend en charge l'évènement, pour déclencher à la fois les actions que j'ai mises par défaut ET celles que j'ajoute dans le code de mon prog. !!
 
Je vois pas comment faire, vu qu'on ne peut pas prévoir à l'avance le nom de la procédure qui va gérer l'évènement, pour chaque composant ...
 
Z'avez une idée, les gourous Delphi ??


---------------
"D'abord arrêter le chimique, et après reprendre l'école ..."  
mood
Publicité
Posté le 09-03-2001 à 16:38:30  profilanswer
 

n°17890
JWhy
je peux plier (héhé)
Posté le 09-03-2001 à 17:01:04  profilanswer
 

Tu l'as mis ou ton code qui modifie le comportement de OnKeyPress ?
 
si tu as les sources de la VCL et que tu remontes la hierarchie, tu as TEdit->TCustomEdit->TWinControl...  
 
dans TWinControl tu as la procedure qui gere l'appel de l'evenement uTilisateur OnKeyPress:

Citation :


procedure TWinControl.KeyPress(var Key: Word);
begin
  if Assigned(FOnKeyPress) then FOnKeyPress(Self, Key);
end;


 
cette procedure est dynamic et protected donc tu peux l'overrider dans le code de ton composant:
 

Citation :


procedure TZeroCoolEdit.KeyPress(var Key: Word); override
...
procedure TZeroCoolEdit.KeyPress(var Key: Word);
begin
  // Ajoute ici ton code personnalise a faire _avant_ l'appel du gestionnaire d'evenement
  inherited;
  // Ajoute ici ton code personnalise a faire _apres_ l'appel du gestionnaire d'evenement
end;


 
donc comme ca ton code personnalise est effectue et la procedure assignee par l'utilisateur de ton composant le sera aussi...

 

[edit]--Message édité par JWhy--[/edit]


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°18182
Zero Cool
D'abord arrêter le chimique...
Posté le 12-03-2001 à 11:15:09  profilanswer
 

Raaah-la-la, mais oui putain !!! trop con moi ...
 
Au lieu d'hériter KeyPress, j'avais assigné par défaut à FOnKeyPress une procédure que j'avais ajoutée au composant, et qui contenait donc le code ... mais forcément, elle était remplacée par celle que Delphi crée quand on clique sur OnKeyPress dans l'inspecteur d'objets ...
 
Voila voila ... thanks donc.


---------------
"D'abord arrêter le chimique, et après reprendre l'école ..."  

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Delphi] - Question d'héritage (pour les pros)

 

Sujets relatifs
[php] question pour les pro ...........cadre avec delphi
Delphi (threads)petite question sur du flash
delphi[HTML] question toute conne :)
question bete.....Tri sous delphi
Un DBPopupMenu dans Delphi 5 ????P'tite question sur windows installer
Plus de sujets relatifs à : [Delphi] - Question d'héritage (pour les pros)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR