Страница 14 из 42 Активизация и деактивизация происходят тогда, когда пользователь или приложение осуществляют переключение между задачами 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; |