Bonjour,
Je me lance dans le création de composant delphi et je rencontre un problème.. Lors de la création du composant, ca boucle sur la méthode paint!
J'ai déja dessiné des composants de toute pièce et je n'ai pas eu de soucis. C'est depuis que j'inclus des composants existants (TButton, TLabel..) que je rencontre des problèmes.
Le but est de faire un composant qui possède un TBouton et un TLabel
Voici le code complet pour ce composant :
Définition du composant:
Méthode Create:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 TSampleSelector = class(TCustomControl) private PButton : TButton; PLabel : TLabel; PSampleName : String; FSampleName: string; protected procedure Paint; override; public constructor Create(AOwner : TComponent);override; published property Caption : string read FSampleName write FSampleName; end;
Méthode Paint:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 constructor TSampleSelector.Create(AOwner: TComponent); begin inherited; PButton := TButton.Create(Self); PLabel := TLabel.Create(Self); end;
Voici le code pour utiliser le composant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 procedure TSampleSelector.Paint; begin inherited; LockWindowUpdate(Handle); // Bouton de selection de Sampler with PButton do begin Caption := '...'; Width := 30; Height := Self.Height - 4; Top := 2; Align := AlLeft; Parent := Self; end; // Le label contient le nom du sampler with PLabel do begin Caption := PSampleName; Top := 2; Left := PButton.Width + 5; Parent := Self; end; LockWindowUpdate(0); end;
pouvez-vous m'aider ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 procedure TForm1.Button1Click(Sender: TObject); var test : TSampleSelector; begin test := TSampleSelector.Create(self); with test do begin width := 50; height := 50; top := 0; left := 0; Parent := Self; end; end;
Merci
Max
Partager