Работа с TApplication
Работа с TApplication
Эта статья взята мной из рассылки "СообЧА. Программирование на Delphi". К сожалению авторство не указано, но думаю многим будет интересно.
Класс TApplication, являющийся наследником класса TComponent, представляет собой фундаметальный класс, свойства и методы которого описывают основные характеристики Windows-приложения. Этот класс активно используется для выполнения специфических действий, зависящих от операционной системы.
Иерархия TObject ? TPersistent ? TComponent
Модуль Forms
В каждом приложении автоматически создается объект Application типа TApplication ? приложение. Application имеет ряд свойств, методов, событий, характеризующих приложение в целом.
Собственные свойства класса TApplication.
property Active: Boolean;
Свойство возвращает значение true, если текущее приложение активно. При переходе к другому приложению или при завершении работы, свойство получает значение false. (Ro)
property AllowTesting: Boolean;
Свойство представляет информацию для IDE и может использоваться только самим приложением.
property BiDiKeyboard: string;
Свойство содержит название раскладки клавиатуры, используемой в ближневосточных языках.
property BiDiMode: TBiDiMode;
Свойство содержит указание на место размещения приложения при его выполнении в ближневосточных версиях Windows.
property CurrentHelpFile: string;
Свойство содержит имя текущего файла помощи, имеющего расширение .hlp. (Ro)
property : DialogHandle: HWnd;
Свойство обеспечивает доступ к механизму создания окон диалога, не использующих библиотеку VCL. Это свойство содержит дескриптор окна диалога, созваемого с помощью функции API CreateDialog.
property ExeName: string;
Свойство содержит полное имя файла, в котором находится программа, и полный путь к ней.
property Handle: HWnd;
Свойство содержит дескриптор программы, который используется операционной системой Windows.
property HelpFile: string;
Свойство содержит имя справочного файла, который используется по умолчанию, например, при отсутствии всей информации о справочном файле, указанном в свойстве CurrentHelpFile.
property Hint: string;
Свойство содержит строковое выражение, определяющее текст всплывающей подсказки.
property HintColor: TColor;
Свойство содержит значение цвета всплывающей подсказки.
property HintHidePause: integer;
Свойство содержит значение, указывающее на время в миллисекундах, через которое всплывающая подсказка будет скрыта.
property HintPause: integer;
Свойство содержит значение, указывающее на время в миллисекундах, в течение которого будет отображаться всплывающая подсказка.
property HintShowCuts: Boolean;
Свойство позволяет отображать во всплывающей подсказке "быстрые клаыиши". Если свойство имеет значение true, то комбинация клавиш отображается, если false ? нет.
property HintShortPause: integer;
Свойство содержит значение, указывающее на время в миллисекундах, в течение которого будет отображаться всплывающая подсказка, если уже отображена другая всплывающая подсказка.
property Icon: TIcon;
Значок, который будет использоваться операционной системой для идентификации данного приложения.
property MainForm: TForm;
Свойство определяет главную форму приложения.
property NonBiDiKeyboard: string;
Свойство содержит название раскладки клавиатуры, которая должна использоваться, если текст читается слева направо. (Ro)
property ShowHint: Boolean;
Свойство определяет возможность появления всплывающих подсказок. Если свойство имеет значение true, то всплывающие подсказки появляются, если false ? нет.
property ShowMainForm: Boolean;
Свойство определяет возможность отображения главной формы. Если свойство имеет значение true, то главной является форма, которая была главной при разработке. Если главной должна быть другая форма, то этому свойству необходимо присвоить значение false, а свойству MainForm ? имя новой главной формы. Свойству Visible формы, которая была главной, необходимо присвоить значение false.
property Terminated: Boolean;
Свойство указывает на завершение работы приложения. Этому свойству присваивается значение true, если Windows посылает ему сообщение WM_QUIT, означающее, что приложение должно завершить работу. (Ro)
property Title: string;
Свойство содержит строковое выражение, являющееся заголовком приложения. Этот заголовок, например, отображается на кнопке панели задач Windows.
property UpdateFormatSetting: Boolean;
Свойство указыва5ет на возможность автоматического изменения формата при пользовательском изменении конфигурации опеарционной системы. Если свойство имеет значение true, то изменение выполняется автоматически.
property UpdateMetricSettings: Boolean;
Свойство указывает на возможность изменения шрифтов окна подсказки и заголовка значка.
procedure ActivateHint (CursorPos: TPoint);
Метод позволяет отобразить всплывающую подсказку в заданной точке CursorPos.
procedure BringToFront;
Метод позволяет переместить последнее из активных окон приложения на передний план.
procedure CancelHint;
Метод позволяет убрать всплывающую подсказку.
procedure ControlDestroyed (Control: TControl);
Метод предназначен для внутреннего использования и вызывается автоматически объектом типа TControl.
procedure CreateForm (FormClass: TformClass; var Reference);
Метод позволяет динамически создать новую форму FormClass. По умолчанию форма, созданная первым вызовом метода CreateForm, становится главной формой приложения.
procedure HandleExeption (Sender: TObject);
Метод предназначен для обработки исключений по умолчанию. Этот метод вызывается, когда в программе не был найден обработчик соответствующего исключения. Метод прерывает выполнение приложения и выдает информационное окно с описанием возникшей ошибки.
procedure HandleMessage;
Метод позволяет прервать выполнение приложения для обработки одного системного сообщения Windows, предоставляя системе возможность выполнять иные действия в ситуациях, когда в приложении выполняются длительные операции, например сложные вычмсления.
function HelpCommand (Command: Word; Data: LongInt): Boolean;
Метод позволяет выполнить быстрый доступ к любой из справочных команд в WinHelp API. Перед отправкой команды Command метод HelpCommand генерирует исключение OnHelp для активной формы или объекта TApplication. О возможных командах справки Windows можно узгать в справочной информации Windows по ключу WinHelp.
function HelpContext (Context: THelpContext): Boolean;
type THelpContext = -MaxLongInt..MaxLongInt;
Метод позволяет отобразить указанный раздел Context справочной системы. Если раздел был удачно отображен, то метод возвращает значение true.
function HelpJump (const JumpID: string): Boolean;
Метод позволяет отобразить указанный раздел JumpID справочной системы. Если раздел был удачно отображен, то метод возвращает значение true.
procedure HideHint;
Метод позволяет скрыть текущую всплывающую подсказку.
procedure HintMouseMessage (Control: TControl; var Message: TMessage);
Метод предназначен для внутреннего пользования и позволяет управлять расположением окна подсказки.
procedure HookMainWindow (Hook: TWindowHook);
type TWindowHook = function (var Message: Tmessage): Boolean of object;
Метод позволяет создать перехватчик системных сообщений.
procedure Initialize;
Метод позволяет инициализировать все подсистемы, определенные для данного приложения. Этот метод при загрузке проекта выполняется первым.
function IsRightToLeft: Boolean;
Метод возвращает значение true, если в приложении используется обход элементов управления в режиме справа налево.
function MessageBox (const Text, Caption: Pchar; Flags: LongInt): integer;
Метод позволяет создать стандартное окно диалога. Подробнее
procedure Minimize;
Метод позволяет свернуть все открытые окна приложения.
procedure NormalizeAllTopMosts;
Метод позволяет перевести все окна приложения из состояния "всегда поверх остальных окон" в нормальное состояние.
procedure NormalizeTopMosts;
Метод позволяет перевести все окна приложения за исключением главного окна из состояния "всегда поверх остальных окон" в нормальное состояние.
procedure ProcessMessages;
Метод позволяет прервать выполнение приложения для обработки всех системных сообщений Windows, стоящих в очереди. Этот метод позволяет выполнять системе иные действия в ситуациях, когда в приложении выполняются длительные операции, например, сложные вычисления.
procedure Restore;
Метод позволяет восстановить все свернутые окна приложения до нормального размера.
procedure RestoreTopMosts;
Метод позволяет восстановить все открытые окна приложения, находящиеся в нормальном состоянии, в состояние "поверх всех". Данный метод применим только к тем окнам, свойство FormStyle которых имеет значение fsStayOnTop.
procedure Run;
Метод предназначен для внутреннего использования и позволяет начать выполнение приложения. Этот метод вместе с методом инициализации (Initialize) и методом создания главной формы (CreateForm) автоматически записывается в основном блоке программы при создании ее заготовки.
procedure ShowExeption (E: Exeption);
Метод позволяет вывести информационное окно с сообщением, описывающим заданную исключительную ситуацию E.
procedure Terminate;
Метод позволяет завершить работу приложения.
function UpdateAction (Action TbasicAction): Boolean; reintroduce;
Метод позволяет генерировать событие OnActiveUpdate.
function UseRightToLeftAlignment: Boolean;
Метод возвращает значение true, если для выравнивания объектов используется режим ""права налево". Этот метод требуется для проверки приложений в ближневосточных версиях Windows, когда свойство BiDiMode имеет значение bdRightToLeft. Во всех остальных случаях метод возвращает значение false.
function UseRightToLeftReadinf: Boolean;
Метод возвращает значение true, если для вывода текстовой информации используется режим ""права налево". Этот метод требуется для проверки приложений в ближневосточных версиях Windows, когда свойство BiDiMode имеет значение bdRightToLeft. Во всех остальных случаях метод возвращает значение false.
procedure UnhookMainWindow (Hook: TwindowHook);
Метод позволяет удалить перехватчик системных сообщений Hook, созданный методом HookMainWindow.
function UseRightToLeftScrollBar: Boolean;
Метод возвращает значение true, если полосы прокрутки элементов управления должны отображаться с левой стороны. Этот метод используется для проверки приложений в ближневосточных версиях Windows, когда свойство BiDiMode имеет значение bdRightToLeft. Во всех остальных случаях метод возвращает значение false.
property OnActionExecute: TActionEvent;
Событие генерируется, если вызван, но не обработан метод Execute.
property OnActionUpdate: TActionEvent;
Событие генерируется, если вызван, но не обработан метод Update.
property OnActivate: TNotifyEvent;
Событие генерируется, когда приложение становится активным.
property OnDeactivate: TNotifyEvent;
Событие генерируется, когда приложение становится неактивным.
property OnException: TExceptionEvent;
type TExceptionEvent = procedure (Sender: TObject; E: Exception) of object;
Событие генерируется, когда в приложении возбуждается исключительная ситуация, которая не может быть программно обработана в блоке try…except.
property OnHelp: THelpEvent;
type THelpEvent = function (Command: Word; Data: LongInt; var CallHelp: Boolean): Boolean of object;
Событие генерируется, когда в приложении возникает запрос на получение справочной информации.
property OnHint: TNotifyEvent;
Событие генерируется, когда указатель мыши помещается на элемент управления, имеющий всплывающую подсказку.
property OnIdle: TIdleEvent;
type TIdleEvent = procedure (Sender: TObject; var Done: Boolean): of object;
Событие генерируется, когда приложение находится в режиме ожидания, не выполняя никаких действий. Например, ожидается ввод данных.
property OnMessage: TMessageEvent;
type TMessageEvent = procedure (var Msg: TMsg; var Handled: Boolean): of object;
Событие генерируется, когда приложение получает состемное сообщение от операционной системы.
property OnMinimize: TNotifyEvent;
Событие генерируется, когда окна приложения минимизируются.
property OnRestore: TNotifyEvent;
Событие генерируется, когда окна приложения восстанавливаются из свернутого приложения до нормального размера.
property OnShortCut: TShortCutEvent;
type TShortCutEvent = procedure (var Msg: TWMKey; var Handled: Boolean): of object;
Событие генерируется, когда пользователь нажимает на клавиатуре клавишу. Это событие генерируется первым из всех событий, связанных с обработкой нажатия клавиши: OnKeyDown, OnKeyPress и OnKeyUp.
property OnShowHint: TShowHintEvent;
type TShowHintEvent = procedure (var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo): of object;
Событие генерируется, когда приложение готовится вывести всплывающую подсказку. Параметр HintStr определяет текст подсказки, параметр CanShow ? возможность отображения подсказки, а параметр HintInfo содержит информацию о внешнем виде и поведении окна справки.
Взято с Vingrad.ru