Form.OnMDIClose

Синтаксис

Sub OnMDIClose(Sender: Object; Args: IMDICloseEventArgs);

Begin

//набор операторов;

End Sub OnMDIClose;

Параметры

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