Créer un contrôle par nom


Comment faire pour créer un contrôle lorsque seulement donné le nom de classe de la commande.
le Premier de la classe doit être enregistré, ce qui est fait dans la section initialisation.
& nbsp & nbsp RegisterClasses([TEdit])

Ensuite, nous trouvons l'objet de classe (les classes sont des objets trop) pour le contrôle, et vérifier qu'il est en fait un TControl.
& nbsp & nbsp CClass := FindClass('TEdit')
& nbsp & nbsp Assert(CClass <> nil)
& nbsp & nbsp Assert(CClass.InheritsFrom(TControl))

Enfin, nous jette la classe comme un TControlClass (dans l'ordre d'appeler le bon constructeur) et appel de Créer.
& nbsp & nbsp C := TControl(TControlClass(CClass).Create(Self))

Le code complet est ci-dessous.
fonction de CreateControlByClassName(const AClassName: string
& nbsp & nbsp AOwner: TComponent): TControl
var
& nbsp & nbsp CClass: TClass
begin

& nbsp & nbsp CClass := FindClass(AClassName)
& nbsp & nbsp Assert(CClass <> nil)
& nbsp & nbsp Assert(CClass.InheritsFrom(TControl))
& nbsp & nbsp Résultat := TControl(TControlClass(CClass).Create(AOwner))
fin
initialisation
& nbsp & nbsp RegisterClasses([TEdit])
à la fin.









Creer un controle par nom


Creer un controle par nom : Plusieurs milliers de conseils pour vous faciliter la vie.


Comment faire pour creer un controle lorsque seulement donne le nom de classe de la commande.
le Premier de la classe doit etre enregistre, ce qui est fait dans la section initialisation.
& nbsp & nbsp RegisterClasses([TEdit])

Ensuite, nous trouvons l'objet de classe (les classes sont des objets trop) pour le controle, et verifier qu'il est en fait un TControl.
& nbsp & nbsp CClass := FindClass('TEdit')
& nbsp & nbsp Assert(CClass <> nil)
& nbsp & nbsp Assert(CClass.InheritsFrom(TControl))

Enfin, nous jette la classe comme un TControlClass (dans l'ordre d'appeler le bon constructeur) et appel de Creer.
& nbsp & nbsp C := TControl(TControlClass(CClass).Create(Self))

Le code complet est ci-dessous.
fonction de CreateControlByClassName(const AClassName: string
& nbsp & nbsp AOwner: TComponent): TControl
var
& nbsp & nbsp CClass: TClass
begin

& nbsp & nbsp CClass := FindClass(AClassName)
& nbsp & nbsp Assert(CClass <> nil)
& nbsp & nbsp Assert(CClass.InheritsFrom(TControl))
& nbsp & nbsp Resultat := TControl(TControlClass(CClass).Create(AOwner))
fin
initialisation
& nbsp & nbsp RegisterClasses([TEdit])
a la fin.


Créer un contrôle par nom

Créer un contrôle par nom : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation