Смекни!
smekni.com

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

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

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

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

Для примера хочу предложить вам пример программы, которая при простое увеличивает счетчик на единицу, а при нажатии клавиши перестает это делать. Поставьте на форму одну кнопку и метку. Свойство 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 есть ряд полезных свойств. Их названия и смысл приведены в таблице.

Следующий глобальный объект, который мы с вами рассмотрим - 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. У этого объекта всего три свойства:

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

Memo1.Text:=Clipboard.AsText;

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

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