Initialisation d'un composant d'une forme
Bonjour,
Une des formes de mon application (un descendant de TFrame) a, parmi ses composants, un autre descendants de TFrame, dont j'ai surchargé le constructeur. Donc j'ai un composant enfant et un composant, avec une entete du genre
Code:
1 2 3 4 5 6 7 8 9 10
|
class TMonEnfant : public TFrame {
public:
TMonEnfant(TComponent *owner, int param=0): TFrame(owner){...}
}
class TMonParent : public TFrame {
__published:
TMonEnfant *enfant;
} |
Actuellement le composant enfant est créé automatiquement quand on crée son parent, et le constructeur de TMonEnfant est bien appelé, avec le second paramètre par défaut (à zéro dans l'exemple)
Maintenant, je voudrais changer ce paramètre dans le constructuer, en passant une liste d'initialisation au parent:
Code:
1 2
|
TMonParent(TComponent *owner) : TFrame(owner),enfant(owner,1) {} |
Et là j'ai deux questions :
1- ca me donne un message : ne peut convertir int en TMonEnfant*, donc apparemment, l'initialisation de la liste enfant(owner,1) ne reconnait pas le constructeur, pourquoi?
2- est ce bien "owner" qu'il faut passer? ou (TComponent *)this?
Merci d'avance,
Francois