33 Voix

Delphi/Lazarus: Créer Label lors de l'exécution dynamiquement

Conseil de Stefan Trost | Dernière mise à jour le 18/11/2022 | Créé le 02/05/2022

Avec ce petit exemple de code, je veux vous montrer comment vous pouvez créer et placer un nouveau TLabel dynamiquement au moment de l'exécution de votre programme.

Tout d'abord, jetons un coup d'œil au code, qui peut être utilisé pour Delphi et Lazarus de la même manière:

var
  ANewLabel: TLabel;
begin
  ANewLabel         := TLabel.Create(Form1);
  ANewLabel.Name    := 'la_new';
  ANewLabel.Caption := 'New Label';
  ANewLabel.Left    := 20;
  ANewLabel.Top     := 10;
  ANewLabel.Visible := true;
  ANewLabel.Parent  := Form1;
end;

Avec TLabel.Create(), nous pouvons mettre une nouvelle Label de nulle part. Afin que nous puissions changer ses propriétés, nous utilisons la variable "ANewLabel" dans laquelle nous stockons temporairement une référence à la nouvelle Label, afin que nous puissions ensuite utiliser cette variable pour définir certaines propriétés de la Label.

Name, Parent et Owner de la Label

Surtout, deux choses sont importantes dans le code: Premièrement, chaque contrôle sur la même forme doit avoir un nom unique. Si nous définissons le nom de la nouvelle Label sur "la_new" comme dans notre exemple et que nous aimerions créer une autre Label après cela, nous devons utiliser un autre nom pour cela (par exemple "la_new2").

Deuxièmement, il est très important que nous définissions la propriété "Parent" de la Label. Cela détermine sur quel contrôle la Label est placée et devient visible là-bas. Dans l'exemple, nous plaçons l'étiquette sur "Form1" (le nom de notre forme), mais nous pouvons également utiliser un Panel (TPanel) ou une TabSheet (TTabSheet) ou autre chose. Si nous ne définissons pas la propriété "Parent", notre Label resterait invisiblement cachée et existerait seulement dans la mémoire.

Si nous ne voulons pas prendre soin de libérer la mémoire de la Label, une fois que la Label n'est plus nécessaire, il est également important de définir le "Owner" de la Label. Cependant, cette fois, nous ne le définissons pas par la suite via l'une des propriétés de la Label, mais directement lors de la création de la Label comme un paramètre de .Create() en passant "Form1" ici. En conséquence, la Label est automatiquement libérée lorsque notre formulaire est libérée et nous nous économisons pour appeler manuellement la procédure .Free de la Label.

Positionnement et Caption

En dehors de cela, nous avons mis d'autres des propriétés, telles que "Left" et "Right" pour positionner la Label sur le formulaire (ici à 20 pixels de la bordure gauche et à 10 pixels de la bordure supérieure) ou "Caption" pour afficher un texte sur la Label.

Bien sûr, de cette manière, nous pourrions également définir toutes les autres propriétés imaginables qui sont autrement réglables via l'Object Inspector.

RépondrePositifNégatif

Sur l’Auteur

AvatarVous pouvez trouver des logiciels de Stefan Trost sur fr.sttmedia.com. Avez-vous besoin d'un logiciel personnalisé selon vos propres besoins? Écrivez-nous: fr.sttmedia.com/contact
Voir Profil

 

Sujets Connexes

VirtualBox: Changer la Date et l'Heure

Tutoriel | 10 Commentaires

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.