comment créer dynamiquement un composant delphi comme TLabel ou TEdit ...etc
À L'Aide De Delphi 2010
SQLQuery1.First; // move to the first record
while(not SQLQuery1.EOF)do begin
// do something with the current record
// What's the code should i write in this part in order to create a TEdit
// containing the user fullname the current item.
ShowMessage(SQLQuery1['whom']);
SQLQuery1.Next; // move to the next record
end;
- Pourquoi voulez-vous créer un composant à chaque enregistrement? essayez-vous à l'aide d'un dbgrid à la place?
- Voulez-vous un contrôle d'édition pour chaque enregistrement? S'agit-il va à l'intérieur d'une grille ou d'ailleurs? Si vous utilisez un DBGrid, il n'y a pas besoin de faire tout cela, elle prend déjà en charge de l'édition. Si vous avez besoin d'elle pour d'autres raisons, alors vous aurez besoin d'une certaine manière à maintenir une liste de ces contrôles, quelque part, de sorte que vous pouvez correctement gratuit lorsque le transfert est terminé. Il dépend fortement de l'endroit où vous souhaitez placer ces contrôles et combien de temps vous voulez que ces contrôles soient visibles. Personnellement, je pense que (si vous n'utilisez pas un DBGrid) que vous pouvez utiliser une chaîne de caractères de la grille de la place (montre une zone d'édition pour chaque enregistrement).
- PS -
ShowMessage(SQLQuery1['whom']);
est plus sûr d'êtreShowMessage(SQLQuery1.FieldByName('whom').AsString);
- Plus sûr de ce qu', @Jerry?
- Si pour une raison quelconque 'qui' est NULL, il peut échouer, parce que c'est une variante du type et il traite différemment la valeur NULL. Ou sinon, juste pour s'assurer que vous êtes en utilisant explicitement le type correct peut éviter beaucoup de divers problèmes de conversion.
Vous devez vous connecter pour publier un commentaire.
Bien, de créer un
TEdit
vous devez faire ce qui suit:Créer une variable de travailler avec. Soit une variable locale ou un membre de la classe.
Alors vous construire.
Le paramètre du constructeur est propriétaire. Cela garantit que le contrôle est détruit lorsque son propriétaire est détruit. Mon hypothèse est que
Self
est une forme.Maintenant, vous avez besoin pour donner le contrôle de l'un des parents.
Ou peut-être sur un panneau.
Enfin, vous définissez le texte.
Avec une étiquette, elle est très similaire, sauf que vous utilisez le
Caption
propriété plutôt que de leText
propriété.Et vous aurez sûrement envie de définir d'autres propriétés, mais je suppose que vous savez déjà comment faire.
Le peu qui attire les gens consiste à définir un parent.
Vous pouvez aussi concevoir les composants visuellement, utilisez le GExperts Composants de Code d'experts sur eux et de les supprimer à partir du concepteur de formulaire à nouveau. Pour un label/modifier le paire cela donne quelque chose comme
La plupart du temps, elle a besoin d'une refonte (suppression de la TabOrder lignes, remplacer la Gauche/Haut/... des trucs par SetBounds, l'alignement ou de votre propre logique, ...) et pour certaines des propriétés ou des composants qui ne fonctionne pas à tous. Mais vous pouvez économiser beaucoup de temps de cette façon.