Fenetre MDI

Résolu
develomagaly Messages postés 46 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 3 mai 2006 - 27 mars 2006 à 13:51
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 27 mars 2006 à 14:18
VOila j'ai une fenetre parents avec des fenetres Mdichild qui s'ouvre en cliquant sur le menu.
Le but est de ne pas pouvoir ouvrir deux fenetres filles en meme temps. Quand l'utilisateur veut ouvrir une autre fenetre que celle qui est demandé, on lui propose si il veut fermer la fenetre en cours .

Je voudrais juste savoir comment récupérer le nom ou la Tform de la fenetre en cours ?

Mon code
function Tcommun.Ouverture_fenetre_menu():boolean ;
begin


if fm_MenuDossier.MDIChildCount > 0 then begin
// Je met un message pour demander si il veut fermer le fenetre en cours
// Si oui
--> il faut que je fasse un .close pour la fenetre mais le hic comment recuperer le nom ?
result := true;
// si non
--> result :=false;
end else begin
result: =true ;
end;
end;

1 réponse

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
27 mars 2006 à 14:18
Salut,
Essaye comme ceci :

procedure TfrMain.Button3Click(Sender: TObject);
var i : integer;
begin
for i:=0 to MDIChildCount - 1 do
If MDIChildren[i].Active Then
Begin
Case MessageBox(Application.MainForm.Handle , {Déclaration de la MessageBox}
PChar(Format('La fenêtre %s est ouverte voulez-vous la fermer ?'
,[MDIChildren[I].Caption ]))
, PChar('Fermer la fenêtre MDI'), 36) Of
IDYES :MDIChildren[i].Close;
IDNO :Exit;
End;
// autre traitements
End;

@+
Cirec
3
Rejoignez-nous