Читать «Учебник по Delphi 4.0» онлайн - страница 41

Unknown

Title

Определяет заголовок приложения в панели задач.

Методы TApplication

Minimize и Maximize

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

ProcessMessages

Этот метод вынуждает приложение обработать ожидающие сообщения. Это полезно делать, например, в длинном цикле, чтобы приложение могло реагировать на поступающие сообщения. Предположим, ваше приложение состоит из цикла

while not Application.Terminated do

При этом оно не сможет обрабатывать сообщения, а вы не сможете перемещать окна и воздействовать на его элементы управления. Одним словом, несмотря на деятельность в цикле, приложение оказывается мертвым для внешнего мира. Однако все изменяется при таком варианте кода:

while not Application.Terminated do

Application.ProcessMessages;

Совет: Программисты часто предпочитают использовать для длительных вычислений отдельную подзадачу, реализуемую классом TThread.

Terminate

Этот метод — предпочтительный способ закрытия приложения. Terminate не закрывает приложение немедленно, а дожидается обработчика события и завершения всех других процессов. Обычно оно используется в меню File/Exit.

procedure TFormI.mnuFileExitClick(Sender: TObject);

begin

Application.Terminate;

end;

События TApplication

Обработка событий TApplication

Поскольку при создании TApplication недоступен, установка его обработчика события затруднена из-за невозможности использования инспектора объектов (Object Inspector).

Сначала опишем обработчик события. Поскольку событие распознается и запускается объектом, обработчик должен быть методом объекта. Он также должен соответствовать соглашению о вызовах события, которое обычно описано в системе справки. Например, из файлов справки можно узнать, что событие OnActivate типа TNotifyEvent является наиболее общим типом. Его описание его выглядит так:

TNotifyEvent = procedure (Sender: TObject) of Object;

Это описание говорит о том, что ваш обработчик должен получать параметр TObject, который позволяет определить, какой именно объект распознал и отослал событие.

Создадим новое приложение и модифицируем описание TForm1.

type

TForm1 = class(TForm)

private

{Закрытые объявления.}

procedure OnActivateHandler(Sender: TObject);

public

{Открытые объявления.}

end;

Описание обработчика как protected не несет особой нагрузки и принято по умолчанию. Важно лишь, чтобы он был методом класса.

Теперь, когда мы описали обработчик, определим его. Добавьте следующий код в раздел implementation вашего модуля.

procedure TFormI.OnActivateHandler(Sender: TObject);

begin

{Код вашего обработчика.}

end;

Совет: Определение процедуры или функции не требует перечисления списка параметров, так как он был дан при описании. Вы можете его повторить для повышения удобочитаемости и ясности программы.

Наконец, назначим обработчик событию. Обычно это выполняется в событии OnCreate главной формы. Измените обработчик события OnCreate класса Tform1 следующим образом.