Form.OnMDIClose

Синтаксис

OnMDIClose(Sender: Object; Args: IMDICloseEventArgs);

Параметры

Sender. Параметр, возвращающий компонент, сгенерировавший событие.

Args. Параметр, позволяющий определить параметры события.

Описание

Событие OnMDIClose наступает перед закрытием дочерней MDI-формы.

Комментарии

Данное событие должно обрабатываться у главной MDI-формы.

При закрытии главной MDI-формы сначала будут закрыты все дочерние MDI-формы, при этом для них будет сгенерировано данное событие. Если в обработчике OnMDIClose закрытие дочерней MDI-формы было отменено, то процедура закрытия дочерних форм будет прекращена. Родительская форма закрыта не будет. Закрытие дочерних форм осуществляется в порядке, обратном созданию (если дочерние формы были созданы в порядке A->B->C, то закрытие будет осуществляться в порядке C->B->A).

Пример

Для выполнения примера предполагается наличие формы. Данная форма является родительской MDI-формой, содержащей несколько дочерних. При работе формы у дочерних MDI-форм изменяется значение свойства Tag.

Sub FormOnMDIClose(Sender: Object; Args: IMDICloseEventArgs);
Begin
    If Args.MDIChild.Tag = 100 Then
        Args.Allow := False;
    End If;
End Sub FormOnMDIClose;

После выполнения примера при попытке закрыть дочернюю MDI-форму, если ее свойство Tag равно "100", то закрытие данной формы будет отменено.

См. также:

Form