Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

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

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

http://MDelphi.far.ru("Development и Дельфи") 

В этой статье я постараюсь рассмотреть существующие в Дельфи глобальные классы. Расскажу о том, как и где их можно применять и что с ними можно делать. 

Начнем мы с глобального класса (объекта) 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). 

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

Удачи в программировании...











helloworld.ru © 2001-2021
Все права защищены