Глобальные объекты в Дельфи. Их свойства и методы

5548
знаков
6
таблиц
0
изображений

Михаил Христосенко

В этой работе я постараюсь рассмотреть существующие в Дельфи глобальные классы. Расскажу о том, как и где их можно применять и что с ними можно делать. Начнем мы с глобального класса (объекта) TApplication. Предлагаю вам ознакомиться с приведенной таблицей событий этого объекта:

События Возникает
OnActionExecute: TActionEvent Происходит при вызове метода Execute перед обработкой списка событий.
OnActionUpdate: TNotifyEvent Происходит при вызове метода Update;
OnActivate: TNotifyEvent При переходе приложения в активное состояние.
OnDeactivate:TNotifyEvent При переключении на другое приложение Windows
OnException: TExceptionEvent При возникновении исключительной ситуации
OnHelp: THelpEvent При запросе приложением справочной системы.
OnHint: TNotifyEvent При перемещении мыши над компонентом, у которого есть строка подсказки (Hint)
OnIdle: TNotifyEvent При отсутствии работы у приложения
OnMessage: TMessageEvent При получении сообщения Windows
OnMinimize: TNotifyEvent При минимизации приложения
OnRestore: TNotifyEvent При восстановлении приложения в нормальный размер
OnShowHint: TShowHintEvent При выводе строки подсказки (Hint)

Для примера хочу предложить вам пример программы, которая при простое увеличивает счетчик на единицу, а при нажатии клавиши перестает это делать. Поставьте на форму одну кнопку и метку. Свойство Caption метки должно быть равно '0';

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

type

 TForm1 = class(TForm)

 Button1: TButton;

 Label1: TLabel;

 procedure Button1Click(Sender: TObject);

private

{ Private declarations }

 procedure count(Sender:TObject; var Done:boolean);

 procedure stop(var Msg:TMsg; var Handled:boolean);

public

{ Public declarations }

end;

var

 Form1: TForm1;

implementation

{$R *.DFM}

procedure Tform1.Count;

begin

 label1.Caption:=IntToStr(StrToInt(label1.caption)+1);//увеличиваем счетчик

 Done:=false;

end;

procedure TForm1.stop(var Msg:Tmsg; var Handled:boolean);

begin

 if Msg.message=WM_KEYDOWN then begin //нажата любая клавиша

 Application.OnMessage:=nil;//сообщение не обрабаьывать

 Application.OnIdle:=nil;//Отменить фоновую работу

 Handled:=true;//сообщение обработано

 end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Application.OnIdle:=count;//процедура обработки простоя

Application.OnMessage:=Stop;//процедура обработки сообщений

end;

end.

Еще у объекта TApplication есть ряд полезных свойств. Их названия и смысл приведены в таблице.

Свойство Описание
HelpFile: String Имя файла контекстной помощи, которое используется приложением
Hint: String Строка подсказки
HintHidePause: Integer Время, в течении которого подсказка будет отображаться. По умолчанию 2500 мсек.
HintPause: Integer Время, через которое подсказка появится при перемещении курсора над объектом. По умолчанию 500 мсек.
HintShortPause: Integer Используется для уменьшения мерцания курсора при перемещении мыши над объектом. По умолчанию 50 мсек.
ShowHint: Boolean Разрешает выводить подсказку для всего приложения (по умолчанию). Установив в False, вы запретите вывод подсказок для всего приложения

Следующий глобальный объект, который мы с вами рассмотрим - Screen. Этот объект инкапсулирует свойства дисплея. У него очень много свойств, но мы посмотрим только некоторые из них. Вам, наверно, часто приходилось встречать такую вещь: когда программа выполняет какую-нибудь долгую операцию, курсор над формой изменяет свой вид, а потом, когда операция выполнена, становится нормальным. Чтобы реализовать эту штуку, нам придется воспользоваться свойтсвом Cursor, объекта Screen. Это свойство отвечает за вид курсора над вашим приложением. Тогда общий вид какой-нибудь процедуры может быть таким:

try

Screen.Cursor:=crHourGlass;

{какие-нибудь длинные операции или вычисления}

finally

Screen.Cursor:=crDefault;

end;

Также с помощью объекта Screen можно узнать параметры монитора. Свойства Width и Height указывают на ширину и высоту монитора соответственно. А свойство PixelPerInch - число точек на дюйм.

Как получить список всех шрифтов, о потом занести их в Combobox?? Такой вопрос, наверно, не раз задавали себе начинающие программисты, делая текстовые редакторы. Все очень просто, достаточно воспользоваться свойством Fonts. Записав эту строку в обработчике OnCreate для вашей формы, вы получите Combo со списком шрифтов, установленных у вас в системе:

Combobox1.Items:=Screen.Fonts;

Последний глобальный объект, который мы рассмотрим в этой статье будет объект Clipboard, необходимый для работы с буфером обмена. Для того, чтобы начать работу с этим объектом, необходимо в разделе Uses указать модуль Clipbrd. У этого объекта всего три свойства:

Свойство Описание
AsText: string Используется для обмена информацией в текстовом виде.
FormatCount: integer Содержит общее число форматов, которые находятся в буфере обмена в данный момент.
Formats [Index: Integer]: Word Содержит значения идентификаторов формата, Index[0..FormatCount-1].

Например, чтобы при загрузке программы, в Memo помещался текст из буфера обмена, в обработчике формы OnCreate, нужно написать следующее:

Memo1.Text:=Clipboard.AsText;

Для работы с буфером обмена существует ряд методов. Для очистки буфера используется метод Clear, для того, чтобы поместить в буфер изображение (*.BMP или *.WMF) нужно воспользоваться методом Assign (Source: TPersistent).

Ну вот и все, я кратко рассказал вам, о некоторых глобальных объектах в Дельфи.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://bestcode.org/


Информация о работе «Глобальные объекты в Дельфи. Их свойства и методы»
Раздел: Информатика, программирование
Количество знаков с пробелами: 5548
Количество таблиц: 6
Количество изображений: 0

Похожие работы

Скачать
79593
1
2

... совокупность всех динамических изменений в поведении отношений субъектов, в исполнении ими своих социальных ролей, функционировании политических и экономических институтов, осуществляющихся под воздействием внешних и внутренних факторов. Для интерпретации понятия экономического и политического процесса используется термин «изменение», который означает любые модификации политической и экономической ...

Скачать
46829
1
0

... , обеспечивающие. При этом целесообразно каждый объект обследовать по всей совокупности элементов производства и управления, их формирующих.   2. Характеристика классификаций При проведении исследований систем управления может использоваться исключительно широкий арсенал разнообразных методов. Соответственно все они могут быть различным образом классифицированы. Например, методы исследования ...

Скачать
114098
3
13

... в области планово-экономических исследований. На примере таких задач могут быть рассмотрены основные методы решения задач линейного программирования как одного из крупных разделов математических методов экономических исследований. Классическая задача на смеси ставится следующим образом. Из различных видов сырья объемом соответственно b1, b2,..., bm-1, bm можно изготовить n видов продукции. Пусть ...

Скачать
79304
3
0

... что только что проведенное сравнение ранжировок (1) и (2) осуществлено не вполне строго. Ясно, что в эконометрическом инструментарии специалиста по проведению экспертных исследований должен быть алгоритм согласования ранжировок, полученных различными методами. Метод согласования кластеризованных ранжировок Рассматриваемая здесь проблема состоит в выделении общего нестрогого порядка из набора ...

0 комментариев


Наверх