Component avec TPanel

Messages postés
3
Date d'inscription
samedi 1 octobre 2005
Statut
Membre
Dernière intervention
16 août 2006
-
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
-
J'essaie de faire un component qui contient un TPanel. Dans mon create de mon component, fait aussi un create de mon TPanel. Celà donne exactement l'effet que je veux donner, mais lorsque je suis en mode design et que j'ajoute un autre component (TEdit )dans mon TPanel ( comme on le fait habituellement avec un TPanel normal ), ce TEdit ne s'enrigistre pas dans mon fichier DMF. Je voix mon TEdit dans mon TPanel de mon Component et il reste là jusqu'à ce que je compile mon programme. Est-ce que vous pouvez m'aider, j'aimerais que le TEdit s'enregistre dans mon fichier DMF.

BeCeCLE
Merci

4 réponses

Messages postés
3
Date d'inscription
samedi 1 octobre 2005
Statut
Membre
Dernière intervention
16 août 2006

J'ai relu ma question, elle n'est pas évidente à comprendre. Je vous donne une partie de code pour aider à comprendre.

type TMonComponent = class(TWinControl)
protected
FPanel = TPanel;
public
constructor Create(Aowner: TControl); override;
end;

constructor TmonComponent.Create(AOwner: TControl);
begin
inherited create(AOwner);
FPanel := Tpanel.Create(Self);
FPanel.Parent := Self;
FPanel.Top := 50;
...
end;

Je ne veux pas qu'on puisse ajouter d'autres components au design time sur mon TMonComponent, mais je veux pouvoir mettre d'autre components sur mon FPanel.
Tout fonctionne bien, je peux ajouter sans problème, mais il ne s'enrigistre pas dans mon fichier DMF.
Hâbituellement avec un TPanel normal le fichier DMF resemble à :

object TPanel1: TPanel
Left = 570
...
object Edit1: TEdit
Left = 50
...
end
end
Je souhaite optenir le même résultat avec mon TMonComponent.
Selon moi je dois override la méthode qui écrit dans le fichier et la méthode qui lit lors de l'initialisation.
Merci de m'aider.
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
7
pourquoi tu herite pas ton composant de T[Custom]Panel?
a mon avis, il y a des methodes appelees quand tu ajoute un control sur un autre, il faut peut etre les surcharger
Messages postés
3
Date d'inscription
samedi 1 octobre 2005
Statut
Membre
Dernière intervention
16 août 2006

Je veux permettre d'ajouter un autre component seulement à certain endroit, en plus je veux pouvoir modifier mon FPanel dans le TMonComponent.
Merci quand même Guillemouze.
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
7
peut etre devrait tu regarder du cote des ces fonctions:

TComponent.InsertComponent
TWinControl.Insertcontrol