Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michael
Michael wrote in news::
J'ai essayé de passer l'instance de la classe contenant les fonctions relatives aux évènements, mais là du coup je suis en pleine galère de déclaration des différentes classes, pour lequel les forward declarations ne me sont d'aucun secours...
class TForm1 { private: Gestion foo; public: void __fastcall ImageClick(TObject *Sender) { /* bla bla */ } void CreateImage() { foo.CreateImage(this); } };
class Gestion { public: void CreateImage(TForm1 * form) { Image * image = new TImage(NULL); image->OnClick = form->ImageClick; } }
Michael <michael_delva.enlever@hotmail.com> wrote in
news:Xns972DCBC04979michaeldelvaenleverh@212.27.42.71:
J'ai essayé de passer l'instance de la classe contenant les fonctions
relatives aux évènements, mais là du coup je suis en pleine galère de
déclaration des différentes classes, pour lequel les forward declarations
ne me sont d'aucun secours...
class TForm1
{
private:
Gestion foo;
public:
void __fastcall ImageClick(TObject *Sender) { /* bla bla */ }
void CreateImage() { foo.CreateImage(this); }
};
class Gestion
{
public:
void CreateImage(TForm1 * form)
{
Image * image = new TImage(NULL);
image->OnClick = form->ImageClick;
}
}
J'ai essayé de passer l'instance de la classe contenant les fonctions relatives aux évènements, mais là du coup je suis en pleine galère de déclaration des différentes classes, pour lequel les forward declarations ne me sont d'aucun secours...
class TForm1 { private: Gestion foo; public: void __fastcall ImageClick(TObject *Sender) { /* bla bla */ } void CreateImage() { foo.CreateImage(this); } };
class Gestion { public: void CreateImage(TForm1 * form) { Image * image = new TImage(NULL); image->OnClick = form->ImageClick; } }
Fabien LE LEZ
On 15 Dec 2005 00:15:03 GMT, Michael :
Maintenant, mon composant est défini à l'intérieur d'une fonction. Quel paramètre passer pour définir l'évènement?
Je ne comprends pas la question. Es-tu bien sûr de parler de C++, et pas d'un truc totalement spécifique à Borland ?
On 15 Dec 2005 00:15:03 GMT, Michael
<michael_delva.enlever@hotmail.com>:
Maintenant, mon composant est défini à l'intérieur d'une fonction. Quel
paramètre passer pour définir l'évènement?
Je ne comprends pas la question. Es-tu bien sûr de parler de C++, et
pas d'un truc totalement spécifique à Borland ?
class TForm1 : public TForm, public ImageHandler { private: void __fastcall ImageMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall ImageMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); void __fastcall ImageEndDrag(TObject *Sender, TObject *Target, int X, int Y); public: __fastcall TForm1(TComponent* Owner) { Montage_Objet * objet = new Montage_Objet(this); /* bla bla bla */ } };
J'y ai pensé en me souvenant d'une réponse à une autre question que j'avais posé ici il y a quelques temps...
Donc merci à vous quand même ;)
Je ne comprends pas la question. Es-tu bien sûr de parler de C++, et
pas d'un truc totalement spécifique à Borland ?
Ben justement je ne sais pas trop ;)
Toujours est-il que viens de réussir à faire ce que je souhaite en
faisant comme suit:
class ImageHandler
{
public:
virtual void __fastcall ImageMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y) = 0;
virtual void __fastcall ImageMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y) = 0;
virtual void __fastcall ImageEndDrag(TObject *Sender, TObject
*Target, int X, int Y) = 0;
};
class Montage_Objet
{
private:
TImage * preview;
public:
Montage_Objet(ImageHandler * handler)
:
{
preview = new TImage(NULL);
class TForm1 : public TForm, public ImageHandler
{
private:
void __fastcall ImageMouseDown(TObject *Sender, TMouseButton
Button, TShiftState Shift, int X, int Y);
void __fastcall ImageMouseMove(TObject *Sender, TShiftState
Shift, int X, int Y);
void __fastcall ImageEndDrag(TObject *Sender, TObject *Target,
int X, int Y);
public:
__fastcall TForm1(TComponent* Owner)
{
Montage_Objet * objet = new Montage_Objet(this);
/*
bla bla bla
*/
}
};
J'y ai pensé en me souvenant d'une réponse à une autre question que
j'avais posé ici il y a quelques temps...
class TForm1 : public TForm, public ImageHandler { private: void __fastcall ImageMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall ImageMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); void __fastcall ImageEndDrag(TObject *Sender, TObject *Target, int X, int Y); public: __fastcall TForm1(TComponent* Owner) { Montage_Objet * objet = new Montage_Objet(this); /* bla bla bla */ } };
J'y ai pensé en me souvenant d'une réponse à une autre question que j'avais posé ici il y a quelques temps...
Donc merci à vous quand même ;)
audvard.jm
* "Michael" a écrit dans le message de news:
Bonsoir à tous,
j'ai un composant TImage pour lequel je définis un évènement onClick:
TImage * image = new TImage(NULL); image->OnClick = ImageClick;
avec ImageClick défini comme suit:
void __fastcall ImageClick(TObject *Sender);
Maintenant, mon composant est défini à l'intérieur d'une fonction. Quel paramètre passer pour définir l'évènement?
class TForm1 : public TForm, public ImageHandler { private: void __fastcall ImageMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall ImageMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); void __fastcall ImageEndDrag(TObject *Sender, TObject *Target, int X, int Y); public: __fastcall TForm1(TComponent* Owner) { Montage_Objet * objet = new Montage_Objet(this); /* bla bla bla */ } };
J'y ai pensé en me souvenant d'une réponse à une autre question que j'avais posé ici il y a quelques temps...
Donc merci à vous quand même ;)
--- Antivirus avast! : message Entrant sain. Base de donnees virale (VPS) : 0550-4, 16/12/2005 Analyse le : 18/12/2005 18:17:35 avast! - copyright (c) 1988-2005 ALWIL Software. http://www.avast.com
--- Antivirus avast! : message Sortant sain. Base de donnees virale (VPS) : 0550-4, 16/12/2005 Analyse le : 18/12/2005 18:17:55 avast! - copyright (c) 1988-2005 ALWIL Software. http://www.avast.com
**
"Michael" <michael_delva.enlever@hotmail.com> a écrit dans le message de
news: Xns972D98979AB23michaeldelvaenleverh@212.27.42.71...
Je ne comprends pas la question. Es-tu bien sûr de parler de C++, et
pas d'un truc totalement spécifique à Borland ?
Ben justement je ne sais pas trop ;)
Toujours est-il que viens de réussir à faire ce que je souhaite en
faisant comme suit:
class ImageHandler
{
public:
virtual void __fastcall ImageMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y) = 0;
virtual void __fastcall ImageMouseMove(TObject *Sender,
TShiftState Shift, int X, int Y) = 0;
virtual void __fastcall ImageEndDrag(TObject *Sender, TObject
*Target, int X, int Y) = 0;
};
class Montage_Objet
{
private:
TImage * preview;
public:
Montage_Objet(ImageHandler * handler)
:
{
preview = new TImage(NULL);
class TForm1 : public TForm, public ImageHandler
{
private:
void __fastcall ImageMouseDown(TObject *Sender, TMouseButton
Button, TShiftState Shift, int X, int Y);
void __fastcall ImageMouseMove(TObject *Sender, TShiftState
Shift, int X, int Y);
void __fastcall ImageEndDrag(TObject *Sender, TObject *Target,
int X, int Y);
public:
__fastcall TForm1(TComponent* Owner)
{
Montage_Objet * objet = new Montage_Objet(this);
/*
bla bla bla
*/
}
};
J'y ai pensé en me souvenant d'une réponse à une autre question que
j'avais posé ici il y a quelques temps...
Donc merci à vous quand même ;)
---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 0550-4, 16/12/2005
Analyse le : 18/12/2005 18:17:35
avast! - copyright (c) 1988-2005 ALWIL Software.
http://www.avast.com
---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 0550-4, 16/12/2005
Analyse le : 18/12/2005 18:17:55
avast! - copyright (c) 1988-2005 ALWIL Software.
http://www.avast.com
class TForm1 : public TForm, public ImageHandler { private: void __fastcall ImageMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall ImageMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); void __fastcall ImageEndDrag(TObject *Sender, TObject *Target, int X, int Y); public: __fastcall TForm1(TComponent* Owner) { Montage_Objet * objet = new Montage_Objet(this); /* bla bla bla */ } };
J'y ai pensé en me souvenant d'une réponse à une autre question que j'avais posé ici il y a quelques temps...
Donc merci à vous quand même ;)
--- Antivirus avast! : message Entrant sain. Base de donnees virale (VPS) : 0550-4, 16/12/2005 Analyse le : 18/12/2005 18:17:35 avast! - copyright (c) 1988-2005 ALWIL Software. http://www.avast.com
--- Antivirus avast! : message Sortant sain. Base de donnees virale (VPS) : 0550-4, 16/12/2005 Analyse le : 18/12/2005 18:17:55 avast! - copyright (c) 1988-2005 ALWIL Software. http://www.avast.com
Alexandre
bonjour,
Maintenant, mon composant est défini à l'intérieur d'une fonction. Quel paramètre passer pour définir l'évènement?