DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013
-
11 avril 2005 à 15:21
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013
-
13 avril 2005 à 09:21
Yep,
Je suis en train de créer un composants, seuleument je suis confronté à un petit problème.
Mon composant hérité de TCustomLabel.
J'aimerai créer une propriété qui possède une liste déroulante avec des entiers à l'intérieure.
Un peu comme la propriété fontsize de des composants ou l'utilisateurs doit choisir une taille de police.
L'editeur de propriété, t'affichera alors une liste de choix des valeurs spécifiées (avec un souligné devant ).
Pour récupérer la valeur, tu as juste à faire une conversion du TFontSize en Integer, et inversement bien sur.
Var
Size : TFontSize ;
Value : Integer ;
Size := _12 ; Value :Integer( Size ) ; // Value 12 ;
Value := 36 ; Size :TFontSize( Value ) ; // Size _36
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008 12 avril 2005 à 02:39
type
Composant = class (TCustumLabel)
private
fXXX:???
property xxx read fxxx write setxxx
implementation
uses RegDesignComponent;
Constructor Composant.Create(Aowner:TComponent);
begin
end;
Note la création de nouvelles cathégories facilite les futurs utilisateurs ,mais on entre ici dans un package DesignTime ,par convention tous les propriétés non run-time doivent être séparé dans un autre pack parce que l'unité DesignIde.pas ne peut être distribué .
Unit RegDesignComponent
implementation
RegisterPropertyInCategory('NomDeLaPropràAfficher',
ClasseduComposantICI=Composant,
'Fxxx');
or le mieux c'est d'ajouter dans les uses de notre composant l'unité DesignTime où seront inclus nos nouvelle property ...exemple ici
uses RegDesignComponent;
Ya surement quelques un de mes composants sur ce site qui en fait la démonstration...
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 12 avril 2005 à 09:11
Je pense avoir mal posé ma question en fait.
Je crée un composant. Dans ce composants j'ai une propriété FontSize, et j'aimerai pour cette proriété, proposer des valeurs deja faite dans une sorte de liste.
Pour exemple, prenez la propriété Size (dans Font) du composants TLabel.
Si ce n'est toujours pas clair je pourrai mettre un screen.
Shell
Vous n’avez pas trouvé la réponse que vous recherchez ?
type
THkLcd = class(TCustomLabel) ... published
property LCDFont: TLCDFont read FLCDFont write SetLCDFont;
end;
Je défini une premiere class TLCDFont qui à deux propriétés (Color et Size).
Ensuite je défini une autre class (THkLcd) dont l'une des propriétés (LCDFont) est de type TLCDFont.
Lorsque l'utilisateur va dans le gestionnaire de propriété du composant et quil modifie Size ou Color, j'aimerai que la prorpiété LCDFont fasse apparaitre un message.
Car pour l'instant avec ce que j'ai, seules Color et Size recoive une notification de changement, mais pas LCDFont.
Comment faire ?