Bonjour à tous,
Je crée une nouvelle composante dérivée de TGraphicControl dans laquel j'aimerais avoir des paramètres comme "sous-propriété" de la composante. Ces paramètres étant soit une images soit une liste d'images et un numéro d'index.
J'ai donc créé une première classe qui contient les paramètres (dont l'image)
et j'intègre cette classe dans ma classe principale.
Mes problèmes sont:
- En runtime, mes paramètres sont vides (alors qu'en design-time j'arrive bien à charger une image)
- J'ai une erreur lorsque j'essaye de lier un TImageList* à la propriété "Images" des paramètres en design-time
- Comment puis-je lier faire pour que l'index soit associé à la liste ?
PS: je me suis inspiré de TJvTransparentButton pour faire cette classe.
Les "sous-paramètres":
La classe principale:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 class TMyButtonImages : public TPersistent { protected: Graphics::TPicture * FImage; //!< Default Picture (created in ctor) TCustomImageList* FImages; //!< List of images (created in ctor) TImageIndex FImagesIndex; //!< Index of the image in the list //----- Accessors ----- void __fastcall SetImage(Graphics::TPicture* Value); void __fastcall SetImages(TCustomImageList* Value); void __fastcall SetImagesIndex(TImageIndex Value); __published: __property Graphics::TPicture* Image = {read=FImage, write=SetImage}; __property TCustomImageList* Images={read=FImages,write=SetImages }; __property TImageIndex ImagesIndex={read=FImagesIndex,write=SetImagesIndex,default=-1}; };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class PACKAGE TMyButton : public TGraphicControl { public: TMyButtonImages *FImages; //!< The images (created in ctor) //! Get the list of images TMyButtonImages* __fastcall GetImages() const; //! Set the list of images void __fastcall SetImages(TMyButtonImages* him); __published: __property TMyButtonImages* Images={read=GetImages,write=SetImages}; };
Partager