Ajouter un objet (ici label pour l'exemple) dynamiquement sur votre feuille

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 271 fois - Téléchargée 36 fois


Contenu du snippet

C'est un petit code sans grande pretention, mais j'ai chercher ici comment faire et je n'ai pas trouver.
Je pense que cela marche pour tout type d'objet, mais c'est à tester.

Source / Exemple :


procedure creerlabel(hcaption : string;hheight : integer;hwidth : integer;hleft : integer;htop : integer);
var
newlabel : TLabel;
begin
newlabel := Tlabel.Create(Form1);
with newlabel do
 begin
Parent := Form1;
left := hleft;
top := htop;
height := hheight;
width := hwidth;
caption := hcaption;
end;
end;

{ensuite on appele la fonction comme tel :}
creerlabel('je suis un new label',20,200,50,50); 
{Crée un label de caption 'Je suis un new label', de hauteur 20 et de largeur 200,de position horizontale et verticale de 50  }

A voir également

Ajouter un commentaire

Commentaires

cs_Bestiol
Messages postés
871
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1 -
Tu peux créer tous les composants que tu veux dynamiquement... Ou presque, je ne connais pas tout ce qui est base de données...
Juste une remarque : quand tu crées une procédure, tu peux regrouper dans les paramètres ceux qui sont de même type :
procedure CreerLabel(hCaption : String; hHeight, hWidth, hLeft, hTop : integer);
hvb
Messages postés
961
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
1 -
merci bien, ca va etre plus pratique avec ta maniere
balgrim
Messages postés
52
Date d'inscription
vendredi 26 avril 2002
Statut
Membre
Dernière intervention
28 octobre 2003
-
ptite erreur:
tu a ecrit creerobjet('je suis un new label',20,200,50,50);
ce ne serai pas plutot creerlabel('je suis un new label',20,200,50,50);???
bah c po si grave ;)

Balgrim.
hvb
Messages postés
961
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
1 -
oups je corrige de suite lol... merci ^^'

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.