Bonjour,

J’ai une classe, nommons la TMyImageList, héritant d’un TCustomImageList.

Je souhaiterai surcharger la méthode DoDraw, définie de la manière suivante dans TCustomImageList:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
protected:
virtual void __fastcall DoDraw(int Index, Graphics::TCanvas* Canvas, int X, int Y, unsigned Style, bool Enabled = true);
Dans mon .h, j’ai:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
class TMyImageList : public TCustomImageList{
  //….
  protected:
  virtual void __fastcall DoDraw(int Index, Graphics::TCanvas* Canvas, int X, int Y, unsigned Style, bool Enabled = true);
  //…
};
Et dans mon .cpp :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
void __fastcall TMyImageList::DoDraw(int Index, Graphics::TCanvas* Canvas, int X, int Y, unsigned Style, bool Enabled){
  //…
}
Mon problème est que lorsque j’utilise TMyImageList, à aucun moment il ne passe par cette méthode surchargée, mais continue à passer dans celle du TCustomImageList !

Je n’arrive pas à comprendre pourquoi. Une idée ?

Merci.

Cordialement,
Benjamin