Мой сайт Пятница, 18.07.2025, 05:29
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Биографии [35]
Биология и химия [13]
Издательское дело и полиграфия [3]
Краткое содержание произведений [9]
Новейшая история, политология [1]
Остальные рефераты [1]
Промышленность, производство [1]
Рефераты по безопасности жизнедеятельности [4]
Рефераты по биологии [9]
Рефераты по географии [13]
Рефераты по геологии [1]
Рефераты по информатике, программированию [15]
Рефераты по истории [21]
Рефераты по истории техники [3]
Рефераты по культуре и искусству [18]
Рефераты по маркетингу [4]
Рефераты по математике [9]
Рефераты по медицине [16]
Рефераты по менеджменту [1]
Рефераты по москвоведению [2]
Рефераты по музыке [10]
Рефераты по науке и технике [16]
Рефераты по педагогике [4]
Рефераты по политологии [4]
Рефераты по праву [12]
Рефераты по психологии [14]
Рефераты по рекламе [5]
Рефераты по религии и мифологии [16]
Рефераты по сексологии [3]
Рефераты по социологии [8]
Рефераты по физкультуре и спорту [5]
Рефераты по философии [18]
Рефераты по экологии [10]
Рефераты по экономике [19]
Рефераты по эргономике [11]
Рефераты по юридическим наукам [12]
Рефераты по юриспруденции [2]
Сочинения по литературе и русскому языку [34]
Топики по английскому языку [12]
Языкознание, филология [7]
психология, педагогика [18]
Новости [112]
Мини-чат
Наш опрос
Оцените мой сайт
Всего ответов: 11
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » 2009 » Октябрь » 20 » Глобальные объекты в Дельфи. Их свойства и методы.
01:27
Глобальные объекты в Дельфи. Их свойства и методы.

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

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


Категория: Рефераты по информатике, программированию | Просмотров: 373 | Добавил: isplittly | Рейтинг: 0.0/0
Всего комментариев: 0
Поиск
Календарь
«  Октябрь 2009  »
Пн Вт Ср Чт Пт Сб Вс
   1234
567891011
12131415161718
19202122232425
262728293031
Архив записей
Друзья сайта
  • Сервере интеграции online.
  • Свежие другой покупателей: футболка покупателей:.
  • производитель кормовые сакатекас.
  • Договору мировой переводов статья.
  • 9:10:26 тематические истории обновление данной.
  • Copyright MyCorp © 2025Создать бесплатный сайт с uCoz