Bonjour à toutes et à tous,
A partir d'un TGraphicControl, j'ai créé un composant TBoutonCoinRond qui n'est autre qu'un joli cadre dessiné avec TBGRABitmap et à qui j'ai affecté les deux procédures parentes MousDown et MouseUp. Cela fonctionne très bien.
Maintenant, je voudrais créer un nouveau composant à partir de mon TBoutonCoinRond sur lequel je souhaite ajouter un TEdit. Tout ça pour avoir un TEDit avec un joli cadre.
Et là, je tourne en rond, je patauge, je n'arrive pas à positionner le TEdit dans mon cadre, il se positionne par rapport à la fenêtre dans laquelle je dépose mon composant. Voilà le code que j'ai écrit :
J'ai essayé pour la création, le parent, les positions et tailles d'utiliser Aowner, Parent, Self, ... Je n'arrive à rien, je tourne en rond.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 type TEditeurCoinRond = class(TBoutonCoinRond) private Editeur: TEdit; protected public constructor Create(AOwner: TComponent); override; destructor Destroy; override; published end; procedure Register; implementation procedure Register; begin {$I editeurarrondi_icon.lrs} RegisterComponents('ChP',[TEditeurCoinRond]); end; constructor TEditeurCoinRond.Create(AOwner: TComponent); begin inherited Create(AOwner); Editeur:= TEdit.Create(AOwner); Editeur.Parent:= TWinControl(Self.Parent); Editeur.AutoSize:= False; Editeur.Left:= Left+18; Editeur.Top:= Top+4; Editeur.Width:= Width-36; Editeur.Height:= Height-8; end; destructor TEditeurCoinRond.Destroy; begin Editeur.Free; inherited Destroy; end; end.
Question : est-ce ce que je veux faire est réalisable et si oui, comment faire ?
NOTA : le composant TBoutonCoinRond : BoutonCoinRond.zip
Cordialement.
Pierre.
Partager