Passage d'adresse de fonction

Passage d'adresse de fonction - C++ - Programmation

Marsh Posté le 12-06-2002 à 15:23:54    

j'aimerais attribuer une fonction que g codé à une méthode C++Builder d'image créée de manière dynamik...
 
Concrètement:  
je crée dynamiquement une image (i1) (TImage * img=new TImage(this)), et je veux utiliser sa méthode OnMouseDown(...). Seulement je n'y ai pas accès avec l'inspecteur d'objets, puisk l'image est générée de façon dynamik, o risk de répéter, donc je dois affecter cette méthode directement dans le code...
D'autre part, g affecté la méthode OnMouseDown(...) de l'image de fond placée sur ma Form, et j'aimerais en fait réutiliser la meme méthode pour mon image i1, et ca pourrait ressembler à ca: i1->OnMouseDown=&Form1->OnMouseDown, mais c po ca...!
 
comment on peut faire...?
 
MERCI D'AVANCE

Reply

Marsh Posté le 12-06-2002 à 15:23:54   

Reply

Marsh Posté le 12-06-2002 à 15:27:15    

i1->OnMouseDown=Form1->Form1MouseDown (la fonction que C++Builder ajoute automatiquement quand tu doubles cliques dans l'inspecteur d'objet)
 
ou un truc du genre
 
et si tu ne veux pas réutiliser l'événement d'un autre objet, tu dois déclarer une méthode de ta form qui a les mêmes paramètres que l'événement que tu veux lui raccorder


Message édité par antp le 06-12-2002 à 15:27:51

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 12-06-2002 à 15:32:52    

i1->OnMouseDown=Form1->Form1MouseDown g deja essayé: ca compile, mais ca ne marche po...

Reply

Marsh Posté le 12-06-2002 à 15:39:23    

pas normal que ça marche pas :heink:
enfin je n'utilise ce genre de trucs qu'en Delphi, où on ne doit pas trop se soucier des pointeurs...


Message édité par antp le 06-12-2002 à 15:40:29

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 12-06-2002 à 15:45:43    

LKoLRn a écrit a écrit :

i1->OnMouseDown=Form1->Form1MouseDown g deja essayé: ca compile, mais ca ne marche po...  




 
salut,
va sur mon site (signature), je l'ai expliqué dans mes tutoz ...
 
@++
 
juju


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 12-06-2002 à 16:41:12    

Heu si non c plutôt  

Code :
  1. i1->OnMouseDown = onMouseDownMethod;
  2. //si t'es dans la classe a qui appartien onMouseDownMethod
  3. i1->OnMouseDown = className::onMouseDownMethod
  4. //Si non


---------------
Le Tyran
Reply

Marsh Posté le 12-06-2002 à 16:50:09    

ha c'est avec "::" :??:
Faut dire qu'en Pascal on met "." que ce soit ".", "::" ou "->" en C++ :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 12-06-2002 à 17:47:05    

:lol:


---------------
Le Tyran
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed