Учебник по Delphi 4

ActiveMDIChild



Это свойство возвращает дочерний объект TForm, имеющий в текущее время фокус ввода. Оно полезно, когда родительская форма содержит панель инструментов или меню, команды которых распространяются на открытую дочернюю форму.


    Например, представим, что проект использует дочернюю форму, содержащую элемент TMemo, названный memDailyNotes. Имя класса этой дочерней формы— TfrmMDIChild. Родительская форма содержит кнопку Clear в панели инструментов, которая удаляет содержимое memDailyNotes в активной дочерней форме. Вот как это реализуется.

    procedure TfrmMDIParent.spbtnClearClick(Sender: TObject);


    begin


        if not (ActiveMDIChild = Nil) then


            if ActiveMDIChild is TfrmMDIChild then


                TfrmMDIChild(ActiveMDIChild).memDailyNotes.Clear;


    end;

    В первой строке проверяется, равен ли ActiveMDIChild значению Nil, так как в этом случае обращение к объекту вызовет исключительную ситуацию.

Совет: ActiveMDIChild равен Nil, если нет открытых дочерних форм или свойство FormStyle не равно fsMDIForm.


    Поскольку ActiveMDIChild возвращает объект TForm, компилятор не имеет доступа к memDailyNotes — объекту TfrmMDIChild. Вторая строка проверят соответствие типов, т.е. действительно ли ActiveMDIChild указывает на объект TfrmMDIChild.


    Третья строка выполняет преобразование типа и вызывает метод Clear компонента memDailyNotes.



Содержание раздела