Bonjour,
Tu as plusieurs possibilités pour faire cela, ne connaissant pas ton projet je vais t'en donner quelques une :
1 - Tu peux te connecter dans ta MDIForm à l'événement OnActiveFormChange de l'instance Screen de la classe TScreen.
Pour cela tu définis une procedure du type :
// Ici on peut détecter soit la création d'une fiche enfant car elle prend le focus, soit sa fermeture car le focus repasse sur la fenêtre mère.
1 2 3 4 5 6 7 8
| procedure DoActiveFormChange(Sender: TObject);
begin
if Sender is TTypeFicheMere then
ou
if Sender = MaFicheMere then
begin
end;
end; |
Et tu connectes l'évenement ainsi :
Screen.OnActiveFormChange := DoActiveFormChange;
2- Autre possibilité, en supposant que tu n'ais pas redefini l'événement OnClose de ta fiche enfant, et bien tu peux connecter cette événement de toutes tes fiches enfants sur une procedure de ta fiche mère que tu auras défini (exemple juste au dessus), ainsi à chaque fermeture de ta fiche enfant, l'événement OnClose de celle-ci sera déclenché et ta fiche principale sera averti.
3- Enfin tu peux définir un nouvel événement (si le OnClose l'est déjà) dans ta fiche enfant que tu déclencheras à la fermeture de celle-ci et sur lequel tu connecteras ta fiche principale.
Voilà
Greg
Partager