begin process at 2012 02 10 18:37:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Problème d'héritage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème d'héritage

mercredi 4 février 2004 à 08:20:37 | Problème d'héritage

Forthian

Et oui encore un soucis.
Je dois faire un héritage de la classe TImage appellée TImageFille. Jusque là pas de problème je pense. Voici mon code:
#ifndef Unit2H
#define Unit2H
//--------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//--------------------------------------------------------------------
class TImageFille : public TImage
{
__published: // Composants gérés par l'EDI
private: // Déclarations utilisateur
public: // Déclarations utilisateur
__fastcall virtual TImageFille(Classes::TComponent* AOwner)
:TImage(AOwner){};
//--------------------------------------------------------------------
extern PACKAGE TImageFille *ImageFille;
//--------------------------------------------------------------------
#endif

Là où mon problème survient, c'est que je dois faire de cette classe un gestionnaire des événements OnMouseDown et OnDragOver. Ceci se fait en surchargeant les paramètres du constructeur à mon avis. Mais je n'arrive pas à produire quelque chose de correct vu que je n'ai jamais fait de surcharge d'événements.
Merci de me guider.

Jacky Moumoute le Roi Dla Route
dimanche 8 février 2004 à 00:03:24 | Re : Problème d'héritage

vecchio56

Administrateur CodeS-SourceS
pour pouvoir surchaarger une fonction (c'est bien de cela qu'il s'agit?) il faut que celles ci soient déclarées comme virtuelles dans la classe de base
dimanche 8 février 2004 à 00:04:47 | Re : Problème d'héritage

vecchio56

Administrateur CodeS-SourceS
Par contre je ne vois pas le rapport avec les contructeurs
mardi 7 mars 2006 à 16:11:43 | Re : Problème d'héritage

Saris

As tu trouver une solution ? par ce que j'ai le m^me problème pour la surcharge des évènements de la souris sur mon image...
Quand vecchio56 dis : "virtuelles dans la classe de base", c'est dans notre classe où dans la TImage parce que normalement ça dervait être possible de surcharger ces fonctions...?
mardi 7 mars 2006 à 16:27:19 | Re : Problème d'héritage

Saris

voici mon code à moi : mais ça marche pas ... pas d'action => pas de surcharge d'opérateur ... pourquoi ?

#ifndef LettreScrabbleVisuelle_H
#define LettreScrabbleVisuelle_H

class LettreVisuelle : public TImage
{
 private :
  AnsiString sPath;
  TWinControl *c;

 public :
  // Le constructeur
  __fastcall LettreVisuelle(char cLettre, TWinControl *control, int iTop, int iLeft);

  void __fastcall OnMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);

  void __fastcall OnMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y);

  void __fastcall OnMouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y);
 
};
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
// Constructeur
//  IN : jeu - pointeur vers la classe jeu
//       control - la fenètre sur laquelle on effectue le rafraichissement
//---------------------------------------------------------------------------
__fastcall LettreVisuelle::LettreVisuelle(char cLettre,
                TWinControl *control, int iTop, int iLeft) : TImage(control)
{
... 
}
//---------------------------------------------------------------------------

void __fastcall LettreScrabbleVisuelle::OnMouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  this->Top = 0;
  this->Left = 0;
}
//---------------------------------------------------------------------------

void __fastcall LettreScrabbleVisuelle::OnMouseUp(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
}
//---------------------------------------------------------------------------

void __fastcall LettreScrabbleVisuelle::OnMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
}
//---------------------------------------------------------------------------

mardi 7 mars 2006 à 18:10:43 | Re : Problème d'héritage

Saris

voilà ce qui dise sur MSDN :

Le déclenchement d'un événement appelle le gestionnaire d'événements par l'intermédiaire d'un délégué. Pour plus d'informations, consultez Déclenchement d'un événement.

La méthode OnMouseDown autorise également les classes dérivées à gérer l'événement sans y attacher de délégué. C'est la méthode recommandée pour gérer l'événement dans une classe dérivée.

Remarques destinées aux héritiers :  Lors de la substitution de OnMouseDown dans une classe dérivée, veillez à appeler la méthode OnMouseDown de la classe de base de manière à ce que les délégués inscrits reçoivent l'événement.

problème : ça marche toujours pas ... help me plz !



Cette discussion est classée dans : problème, include, timage, héritage, timagefille


Répondre à ce message

Sujets en rapport avec ce message

Segmentation Fault avec Mysql API [ par BenjZ ] Salut à tous,J'ai un GROS et URGENT problème euh... existentielJe n'arrive pas à faire une simple appli pour me connecter à MYSQL depuis C++, sans qu' Problème avec une boucle while [ par arconius ] voilà j'ai fait un prog où l'on tire des dés mais j'ai un problème avec ma boucle while car au lieu de me donner un chiffre aléatoire à chaque fois il ostream_withassign problème de syntaxe [ par balbeau ] Bonjour,j'ai un problème avec un prog C++ développé sous MS Visual C++ 6 mais je travaille avec Studio .NET 2003 (VC++ 7)j'ai le code suivant:void sen problèmes de conflits d'adresse [ par vlad_dracula ] bonjour, voila j'ai un problème quand j'execute ce programme : il compile sans problème mais me sort un problème de conflits d'adresses à l'éxecution. Problème #include [ par casanoveg ] Je souhaitais faire ma première demo pour un jeu qui me tient à coeur, mais j'ai un problème avec les #include. J'ai voulu faire mon programme sur plu Problème avec SetLayeredWindowAttributes [ par Oeil_de_taupe ] Bonjour tlm, Lors d'un projet je veux mettre une fenêtre transparente. J'utilise l'API SetLayeredWindowAttributes. Le petit problème c'est que je n Aidez-moi à résoudre ce problème !!! (Débutant) [ par tony4758 ] Bonjour je suis un débutant en c et je voudrais savoir pourquoi à chaques fois que j'écris un mini programme du genre ://----------------------------# Problème de listage de fichiers [ par graall ] Bonjour,j'ai un problème avec cette fonction :void Include::MakeHtml(){    char include_dir[_MAX_DIR] = "d:\\";     HANDLE hfind;    WIN32_FIND_DATA w Problème de header qui ont besoin les un les autres. [ par valley_antoine ] Bonjour, ma question va surement vous paraitre idiote mais je bloque dessus depuis pas mal de temps. Comment fait on lorsque que header ont besoin l'u Problème avec GetTickCount() [ par nisaloncaje ] Bonjour, je voudrais faire une sorte de chronomètres pour mon programme, cependant j'ai un petit problème : je veux que le temps s'affiche sous la for


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales