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

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

Вэтой работе я постараюсь рассмотреть существующие в Дельфи глобальные классы.Расскажу о том, как и где их можно применять и что с ними можно делать. Начнеммы с глобального класса (объекта) 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) <p/>

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

   procedure stop(var Msg:TMsg; varHandled: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; varHandled: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, вы запретите вывод подсказок для всего приложения <p/>

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

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

Memo1.Text:=Clipboard.AsText;

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

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

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

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

еще рефераты
Еще работы по информатике, программированию