Application — главный объект, управляющий приложением
То, о чем мы рассказали выше — это внешняя сторона приложения. А что же происходит внутри? Дело обстоит так. Над всеми формами и компонентами стоит объект Application (класса TApplication), олицетворяющий собой приложение в целом. Это главное “действующее лицо”, которое создается в начале выполнения любого приложения. Объект Application держит в руках все нити управления: создает главную и второстепенные формы, уничтожает их, обслуживает исключительные ситуации. Вы, кстати, уже встречались с ним в файле проекта:
program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;end. |
Объект Application отсутствует в палитре компонентов, поэтому его свойства можно изменять только из программы. Кратко рассмотрим наиболее важные свойства этого объекта:
- Active — равно значению True, если приложение активно.
- AutoDragDocking — режим автоматической или ручной стыковки форм и компонентов. В автоматическом режиме (значение True) стыковка происходит по окончании буксировки при отпускании кнопки мыши. В ручном режиме (значение False) для стыковки необходимо удерживать клавишу Ctrl при отпускании кнопки мыши.
- BiDiKeyboard — раскладка клавиатуры при работе с восточными языками.
- BiDiMode — позволяет сделать так, чтобы надписи читались справа налево (используется при работе с восточными языками).
- CurrentHelpFile — имя файла справки активной формы программы (каждая форма может иметь свой собственный файл справки). Если у активной формы нет своего файла справки, то в свойстве CurrentHelpFile просто дублируется значение свойства HelpFile.
- HintColor — цвет фона всплывающей подсказки.
- HintHidePause — время, в течение которого всплывающая подсказка задерживается на экране.
- HintPause — задержка перед появлением всплывающей подсказки.
- HintShortCuts — определяет, включается ли в текст подсказки название комбинации клавиш.
- HintShortPause — время, через которое появляется всплывающая подсказка, если в данный момент на экране уже отображена другая подсказка.
- MainForm — указывает главную форму приложения. По умолчанию главной считается первая создаваемая форма.
- NonBiDiKeyboard — раскладка клавиатуры.
- ExeName — содержит полное имя (включая маршрут) выполняемого файла программы. Имя выполняемого файла совпадает с именем главного файла проекта. Если имя проекта не было указано, то по умолчанию выполняемому файлу назначается имя Project1.
- Title — содержит название приложения, которое отображается на Панели Задач во время работы. По умолчанию значением свойства является имя главного файла проекта.
- HelpFile — содержит имя файла справочника, который используется программой для отображения оперативной справочной информации по формам и компонентам.
- HelpSystem — интерфейс к справочной системе.
- Icon — содержит значок, отображаемый на Панели Задач во время работы программы. Значок отображается слева от названия (см.Title).
- UpdateFormatSettings — включает автоматическое обновление форматных строк в программе вслед за изменением этих параметров в операционной системе. Форматные строки управляют показом даты, времени, денежных единиц и др.
- UpdateMetricSettings — включает автоматическое обновление шрифта и фона системных надписей (всплывающих подсказок и подписей значков) при изменении настроек экрана в операционной системе.
- Terminated — значение True говорит о том, что программа находится в процессе завершения.
Если вы желаете задать заголовок (свойство Title), значок (свойство Icon) и имя файла справочника (свойство HelpFile) для приложения, не корректируйте главный программный файл, а обратитесь лучше к диалоговому окну Project Options (рисунок 7.45), которое появляется по команде меню Project | Options... .
Рисунок 7.45. Окно параметров проекта
Объект Application имеет несколько полезных событий. Самые важные из них: OnActivate, OnDeactivate, OnException.
- OnActionExecute — происходит при выполнении любой команды в компоненте ActionList (см. главу 10).
- OnActionUpdate — происходит во время простоя программы для обновления состояния команд в компоненте ActionList (см. главу 10).
- OnActivate — происходит, когда программа получает фокус ввода, т.е. когда пользователь переключается на нее с другой программы.
- OnDeactivate — происходит, когда программа теряет фокус ввода, т.е. когда пользователь переключается с нее на другую программу.
- OnException — происходит, когда в программе возникает необработанная исключительная ситуация. Стандартный обработчик этого события вызывает метод ShowException для отображения окна сообщений с пояснением причины ошибки. Вы можете изменить реакцию на событиеOnException, переписав его обработчик.
- OnHelp — происходит, когда пользователь вызывает справку.
- OnHint — происходит, когда курсор мыши наводится на компонент, содержащий всплывающую подсказку.
- OnIdle — периодически происходит во время простоя программы.
- OnMessage — происходит при получении программой сообщения операционной системы Windows.
- OnMinimize — происходит, когда пользователь сворачивает программу.
- OnModalBegin — происходит при отображении монопольной формы на экране.
- OnModalEnd — происходит при закрытии монопольной формы.
- OnRestore — происходит, когда пользователь восстанавливает свернутую программу.
- OnSettingChange — происходит при изменении настроек операционной системы, например, настроек экрана или региональных настроек.
- OnShortCut — происходит при нажатии клавиш на клавиатуре (еще до того, как в форме происходит событие OnKeyDown).
- OnShowHint — происходит непосредственно перед появлением любой всплывающей подсказки.
Из всех методов объекта Application мы упомянем лишь один — Terminate. Он выполняет штатное завершение приложения. Запомните, метод Terminate не вызывает немедленного завершения приложения, давая возможность всем формам корректно себя закрыть. Во время закрытия форм свойство Terminated имеет значение True.
При необходимости на помощь объекту Application спешат менее значительные “персоны”: объекты Screen, Printer и Clipboard. Они также являются глобальными и создаются автоматически при запуске приложения (если, конечно, подключены стандартные модули, где они расположены).
Дата добавления: 2016-02-09; просмотров: 1927;