Russian Belarusian English German Japanese Ukrainian
  • Главная
  • Объект Application как уникальное приложение

В каждом приложении автоматически создается объект Application типа TApplication - приложение. Этот компонент отсутствует в палитре библиотеки, вероятно, только потому, что он всегда один в приложении. Application имеет ряд свойств, методов, событий, характеризующих приложение в целом.

Булево свойство Active (только для чтения) характеризует активность приложения. Оно равно true, если форма приложения находится в фокусе. Если же пользователь переключился на работу с другим приложением, свойство Active равно false.

Свойство ExeName является строкой, содержащей имя выполняемого файла с полным путем к нему. Это свойство удобно использовать, чтобы определить каталог, из которого запущено приложение и который может содержать другие файлы (настройки, документы, базы данных и т.п.), связанные с приложением. Выражение ExtractFilePath(Application->ExeName) дает этот каталог. Обычно свойство ExeName тождественно функции ParamStr(0), возвращающей нулевой параметр командной строки, т.е. имя файла с путем.

Свойство Title определяет строку, которая появляется около пиктограммы свернутого приложения. Если это свойство не изменяется во время выполнения, то оно равно опции Title, задаваемой во время проектирования на странице Application окна опций проекта (команда Project | Options). Свойство может изменяться программно, например, изменяя надпись в зависимости от режима работы приложения.

Свойство MainForm типа TForm определяет главную форму приложения. Булево свойство ShowMainForm определяет, должна ли главная форма быть видимой в момент запуска приложения на выполнение. По умолчанию оно равно true, что обеспечивает видимость главной формы в момент начала работы приложения. Если же установить в головном файле проекта Application->ShowMainForm равным false до вызова метода Application->Run() и если при этом свойство Visible главной формы тоже равно false, то главная форма в первый момент будет невидимой.

Свойство HelpFile указывает файл справки, который используется в приложении в данный момент как файл по умолчанию. Если это свойство не изменяется во время выполнения, то оно равно опции Help File, задаваемой во время проектирования на странице Application окна опций проекта (команда Project | Options). Свойство можно изменять программно, назначая в зависимости от режима работы приложения тот или иной файл справки.

Ряд свойств объекта Application определяет ярлычки подсказок компонентов приложения. Свойство Hint содержит текст подсказки Hint того визуального компонента или раздела меню, над которым в данный момент перемещается курсор мыши. Смена этого свойства происходит в момент события OnHint. Во время этого события текст подсказки переносится из свойства Hint компонента, на который переместился курсор мыши, в свойство Hint объекта Application. Свойство Application->Hint можно использовать для отображения этой подсказки или для установки и отображения в полосе состояния текста, характеризующего текущий режим приложения.

Свойство HintColor типа TColor определяет цвет фона окна ярлычка. По умолчанию это цвет clInfoBk, но его значение можно изменять программно. Свойство HintPause определяет задержку появления ярлычка в миллисекундах после переноса курсора мыши на очередной компонент (по умолчанию 500 миллисекунд или половина секунды). Свойство HintHidePause аналогичным образом определяет интервал времени, после которого ярлычок становится невидимым (по умолчанию 2500 миллисекунд или две с половиной секунды). Свойство HintShortPause определяет аналогичным образом задержку перед появлением нового ярлычка, если в данный момент отображается другой ярлычок (по умолчанию 50 миллисекунд). Это свойство позволяет предотвратить неприятное мерцание, если пользователь быстро перемещает курсор мыши над разными компонентами.

Методы Initialize - инициализация проекта, и Run - запуск выполнения приложения, включаются в каждый проект автоматически. Это можно увидеть в головном файле проекта, если выполните команду Project | View Source. Там же можно увидеть применение метода создания форм CreateForm для всех автоматически создаваемых форм проекта. Если же в проекте есть форма, которая исключена из списка автоматически создаваемых (команда Project | Options и соответствующая установка на странице Forms), то когда эта форма потребуется и необходимо будет вызвать этот метод:

void __fastcall CreateForm(System::TMetaClass* InstanceClass, void *Reference);

где InstanceClass - класс создаваемой формы, который указывается операцией __classid, a Reference - ссылка на создаваемый объект (его имя). Например:

Application->CreateForm(__classid(TForm2), &Form2);

Метод Terminate завершает выполнение приложения. Если надо завершить приложение из главной формы, то вместо метода Application->Terminate() можно использовать метод Close главной формы. Но если надо закрыть приложение из какой-то вторичной формы, например, из диалога, то надо применять метод Application->Terminate().

Метод Minimize сворачивает приложение, помещая его пиктограмму в полосу задач Windows.

Ряд методов связан с работой со справочными файлами. Выше уже говорилось о свойстве HelpFile, указывающем текущий файл справки. Метод HelpContext:

bool __fastcall HelpContext(Classes::THelpContext Context);

вызывает переход в файл справки на тему с идентификатором Context. Это идентификатор, который при проектировании справки поставлен в соответствие некоторой теме. Метод HelpJump:

bool __fastcall HelpJump(const System::AnsiString JumpID);

выполняет аналогичные действия, но его параметр JumpID - не идентификатор темы, а имя соответствующей темы в файле справки, задаваемое в нем сноской #.

Метод HelpCommand:

bool __fastcall HelpCommand(int Command, int Data);

позволяет выполнить указанную параметром Command команду API WinHelp с параметром Data. Метод генерирует событие OnHelp активной формы или приложения, а затем выполняет указанную команду WinHelp. Полный список команд WinHelp можно найти в теме WinHelp справочного файла win32.hlp, расположенного в каталоге ...\Program Files\Common Files\Borland Shared\MSHelp.

Команда HELP_CONTENTS с параметром 0 отображает окно Содержание справки.

Команда HELP_INDEX с параметром 0 отображает окно Указатель справки.

Команда HELP_CONTEXT с параметром, равным идентификатору темы, отображает тему с заданным идентификатором (это тождественно рассмотренному ранее методу HelpContext).

Команда HELP_CONTEXTPOPUP с параметром, равным идентификатору темы, делает то же самое, но отображает тему во всплывающем окне.

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Поиск по сайту