cs_darkduck
Messages postés138Date d'inscriptionvendredi 28 février 2003StatutMembreDernière intervention29 février 2008
-
26 août 2003 à 14:27
manu1506
Messages postés54Date d'inscriptionjeudi 13 novembre 2003StatutMembreDernière intervention25 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
manu1506
Messages postés54Date d'inscriptionjeudi 13 novembre 2003StatutMembreDernière intervention25 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