Appeler une MdiChild par son numéro

cs_darkduck Messages postés 138 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 29 février 2008 - 26 août 2003 à 14:27
manu1506 Messages postés 54 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 25 avril 2012 - 15 mars 2004 à 03:18
Bonjour

Lorsque j'ouvre une deuxieme MdiChild comment puis je faire pour fermer la premiere ?

Je pense qu'il faut l'appeler par son numero car elle n'a pas un nom fixe vu qu'elle est créée dynamiquement

J'espere que vous avez compris mon prob et merci

1 réponse

manu1506 Messages postés 54 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 25 avril 2012
15 mars 2004 à 03:18
La fiche MDI créée devient la fiche MDI active et doit donc correspondre à MDIChildren[0]. La fiche que tu veux détruire sera donc MDIChildren[1].

Si ça ne marche pas essaie :

for I:=MDIChildCount-1 downto 0 do
if MDIChildren[I]<>ActiveMDIChild
then MDIChildren[I].Free;

Si ça ne marche toujours pas, il reste la possibilité d'utiliser la propriété Tag des MDI pour les différencier :

// Le Tag de la nouvelle MDI vaut zéro à sa création
for I:=MDIChildCount-1 downto 0 do
if MDIChildren[I].Tag = 1
then MDIChildren[I].Free;
MDIChildren[0].Tag:=1;

Dans tous les cas, vérifie qu'il existe bien au moins 2 fiches MDI avant de détruire une MDIChildren d'indice supérieur à zéro
0
Rejoignez-nous