Справочник по компонентам Delphi. Часть 3
Страница 14. Объект Application. Часть 2


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

property OnActivate: TNotifyEvent; property OnDeactivate: TNotifyEvent;

Текущее состояние активности можно узнать в свойстве:

property Active: Boolean;

События, возникающие соответственно при сворачивании и восстановлении главной формы приложения, также относятся к объекту Application:

property OnMinimize: TNotifyEvent; property OnRestore: TNotifyEvent;

Для программного выполнения таких операций есть два метода:

procedure Minimize; procedure Restore; У Application есть метод: procedure BringToFront;

У формы также есть метод с этим названием, который показывает форму поверх остальных и активизирует ее. Отличие этих методов в том, что Form. BringToFront активизирует вызвавшую его форму, а метод Application.BringToFront — ту форму, которая была активна последней.

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

procedure HandleException(Sender: TObject);

Стандартная обработка подразумевает вызов метода

procedure ShowException(E: Exception);

который отображает диалоговое окно с именем приложения в заголовке и сообщением об ошибке (содержащемся в параметре — объекте Е класса Exception).

Стандартную обработку можно перекрыть (во всех случаях, кроме обработки исключительной ситуации EAbort), определив обработчик события:

property OnException: TExceptionEvent;

TExceptionEvent = procedure (Sender: TObject; E: Exception) of object;

Целый ряд методов управляет системой помощи. Для ее нормального функционирования в первую очередь необходимо, чтобы было определено имя файла помощи в свойстве:

property HelpPile: string;

Если оно определено, то вызов помощи можно осуществить тремя видами запросов, которьм соответствуют методы:

function HelpContext(Context:

Осуществляет вызов помощи по заданному контексту.

function HelpJump(const JumpID: string): Boolean-

Осуществляет вызов помощи для контекстной строки JumpID. Например, вызов Application.HelpJump('HelpJump ') даст подсказку по этой функции.

function HelpConunand (Command: Word; Data: Longint): Boolean;

Посылает системе помощи команду Command с параметром Data. Для описания типов команд см. справку по процедурам WinHelp API Windows.

 

Все функции возвращают True, если файл Help определен, и произошел вызов приложения WinHelp.

Если вы хотите перехватить обращение к справочной системе, то необходимо написать обработчик события:

property OnHelp: THelpEvent; THelpEvent = funcс ion(Command: Word; Data: Longint; var CallHelp: Boolean):Boolean of object;

В нем вы можете предусмотреть предоставление собственной помощи пользо­вателю. Результат True функции означает успех (помощь предоставлена). Если после обработки события по-прежнему нужно вызвать систему помощи Windows (через WinHelp), то в параметре CallHelp нужно вернуть True.

Метод function MessageBox(Text, Caption: PChar; Flags: Word): Integer;

содержит вызов стандартного диалогового окна с тем же названием и назна­чением.

Если вы хотите использовать в составе Delphi и вызывать из форм приложения диалог, созданный с помощью других средств программирования, то дескриптор такого диалога должен быть присвоен свойству:

property DialogHandle: HWnd;

Подробные правила работы с этим свойством описаны в документации раз­работчика компонентов Delphi.

Наконец, упомянем о системе оперативной подсказки. У приложения имеется собственный текст подсказки, определяемый свойством:

property Hint: string;

В отличие от подсказок для других компонентов, он не отображается при остановке мыши. Его содержимое обычно передается строке состояния.

Целый ряд методов и свойств объекта, отвечающих за реализацию системы оперативной подсказки, подробно описан в соответствующем разделе. Поэтому они здесь только перечисляются:

property OnHint: TNotifyEvent; property ShowHint: Boolean; property HintPause: Integer; property OnShowHint: TShowHintEvent ; property HintColor: TColor; procedure CancelHint;  

 
« Предыдущая статья   Следующая статья »