MDI

Résolu
l0sth34d2 Messages postés 76 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 13 novembre 2008 - 14 août 2007 à 02:44
l0sth34d2 Messages postés 76 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 13 novembre 2008 - 14 août 2007 à 12:50
Bonjour a tous!

Quelqu'un sais comment controler un composant d'une certaine fenetre MDI a partir de la MainForm ?
Lorsque je cré une Child, j'aimerais pouvoir ajouter des lignes au RichEdit qui est dans celle-ci..

ChildForm.MDIChildren[0].Richedit ne marche pas.. j'ai access a toute les procedure normal d'une fenetre mais pas les composants!

Il y a surment une methode! :P

Merci!

3 réponses

sylvunix Messages postés 93 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 4 mars 2009
14 août 2007 à 07:13
Bonjour,

Cela est tout à fait normal car ChildForm.MDIChildren[0] représente un objet de type TForm. Il faut donc faire un cast avec le type de la fenêtre fille. Si celle-ci s'appelle TMDIChild, tu auras donc TMDIChild(ChildForm.MDIChildren[0]).RichEdit ...

A+

sylvunix
3
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
14 août 2007 à 08:57
salut,

pour prendre des bonnes habitudes, je te conseille de faire une méthode public de type AjouterLigne(s:String) qui ajoutera la ligne dans ton rich edit (évidamment. le transtypage est nécessaire de la même manière). Ceci te permet d'avoir une application plus souple et plus faciel a modifier par la suite.

bon code,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
3
l0sth34d2 Messages postés 76 Date d'inscription mercredi 21 mars 2007 Statut Membre Dernière intervention 13 novembre 2008 1
14 août 2007 à 12:50
Merci a vous deux :P


C'est belle et bien le cas, il faut specifier que c'est un TMDIChild.. par contre j'ai procedé de la maniere suivante..

with (Mainform.MDIChildren[0] as TChildForm).Richedit do
      begin
      lines.add('...')
      end;

Merci encore!
0
Rejoignez-nous