Михаил Христосенко
В этой работе я постараюсь рассмотреть существующие в Дельфи глобальные классы. Расскажу о том, как и где их можно применять и что с ними можно делать. Начнем мы с глобального класса (объекта) 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 есть ряд полезных свойств. Их названия и смысл приведены в таблице.
Следующий глобальный объект, который мы с вами рассмотрим - 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).
Ну вот и все, я кратко рассказал вам, о некоторых глобальных объектах в Дельфи.
Другие работы по теме:
Лесопатологический мониторинг
"...17. Лесопатологический мониторинг (далее - ЛПМ) - система постоянных наблюдений за состоянием лесного фонда и лесов, не входящих в лесной фонд, а также за неблагоприятными факторами, влияющими на это состояние..."
Экологический мониторинг
Чтобы по возможности исключить неблагоприятное влияние человека на природу необходимо: вести текущий учёт изменений в окружающей среде; научиться прогнозировать развитие этих изменений.
Гендерные аспекты христианской добродетели и чистоты
Гендерные роли формируются культурой. Русская христианская культура характеризуется высокой субстанцией власти. Именно поэтому семья в России ориентирована на жесткие гендерные роли. Религия имеет влияние на формирование социальных установок (Г. Оппорт).
Человек и общество
Экзаменационные билеты по предмету «Человек и общество» Билет №1 1. Понятие общества. Сферы общественной жизни 2. Рыночные отношения в современной экономике.
Созание компоненты
Вы часто используете в своих программах одни и те же куски кода для обработки стандартных компонент? Если да, то вам стоит прочитать эту статью. Здесь мы рассмотрим основы создания компоненты, и в качестве примера создадим одну простую компоненту.
1. 1 Применение биосурфактантов 8
Содержание Введение 7 1 Литературный обзор 8 1.1 Применение биосурфактантов 8 1.2 Классификация биосурфактантов 10 1.3 Физико-химические свойства биосурфактантов 13
Дельфийский метод
Другие названия метода: "", "Метод дельфийского оракула". Авторы метода: О. Холмер, Т. Гордон и др. (США), 50-е годы XX в. Назначение метода
Этапы формирования инновационной идеи
Разработка инновационного проекта, формирование идеи. Определение альтернативных модификаций решения проблемы. Возникновение инновационных идей при помощи метода выявления мнений участников и творческих методов. Элементы "дерева целей" и "дерева работ".
Методы прогнозирования в маркетинговой деятельности
Прогнозирование служит для выяснения тенденций развития фирмы в условиях постоянного изменения факторов внешней и внутренней среды и поиска рациональных маркетинговых мероприятий по поддержке устойчивости ее экономического поведения.
Организация проведения экспертных оценок
Использование экспертных оценок. Применение различных методов для решения одной задачи. Ранжирование, парные и множественные сравнения, непосредственная оценка, метод Терстоуна – наиболее употребительные процедуры экспертных измерений. Методы типа Дельфи.
Структура системного анализа
КОНТРОЛЬНАЯ РАБОТА по дисциплине "Теория систем” на тему: “Структура системного анализа” План Введение 1. Структура системного анализа 1.1 Основные разновидности системного анализа
Структура системного анализа
Сущность системного анализа, его объект, предмет, технологии, структура, содержание, принципы, характеристика, методы, значение, классификация и последовательность. Обоснование принципов как первоначальный этап построения методологической концепции.
Контрольные билеты по алгебре
Алгебра и начала анализа. 11 класс. Билет №1. Функция y = sin x, ее свойства и график. Показательная функция, ее свойства для случая, когда основание больше единицы (доказательство одного из свойств по желанию ученика).
Логистика цели, задачи, методы
Содержание Понятие Логистики…………………………………………….2 Цели Логистики………………………………………………...2 Задачи Логистики……………………………………………....3 Методы Логистики……………………………………………...4
Изображение повседневной жизни в произведениях А. Чехова
Автор: Чехов А.П. А. П. Чехов из тех писателей, которые глобальные вопросы человеческого бытия поднимают через изображение обычной повседневной жизни конкретных персонажей. Диагностируя “болезнь” одного человека, он диагностирует “болезни” мира.
Ядерное соглашение между Индией и США
— так обычно называют двустороннее соглашение по ядерной кооперации между США и Республикой Индия. Основой этого соглашения послужило Совместное заявление премьер-министра Индии Манмохан Сингха и президента США Джорджа Буша которое гласило, что Индия согласна разделить свои военные и гражданские ядерные объекты и поместить гражданские ядерные объекты под гарантии МАГАТЭ в обмен на согласие Соединённых Штатов развернуть полномасштабную гражданскую ядерную кооперацию с Индией.[1]
Описание файлов, создаваемых Дельфи
Вы когда ни будь задумывались о том, что создает Дельфи в папке с исходниками проекта? Да и нужен ли весь этот абсолютно бесполезный, для рядового программиста, "мусор"? Пора призадуматься. В этой мини-статье я расскажу о назначении таких файлов.
Предотвращение запуска 2-x копий программы
Известно, что Windows - многозадачная система. Это конечно хорошо. Но обратной стороной многозадачности является то, что одновременно можно запустить несколько копий одного и того же приложения.
Консольное приложение на Дельфи
Хоть и консольные приложения уже давно вышли из моды, с помощью них можно легко делать рутинные операции. Они занимают не так много места, не требовательны к ресурсам и быстро выполняются.
Работа с файлам в Дельфи
В статье рассматриваются стандартные I/O операции с файлами, типичные ошибки и методы их предотвращения.
Различные способы печати из приложений
Печать используется в приложениях не так часто, вот и возникают различные вопросы по этому поводу. Иногда бывает необходимо "вывести на принтер" график получившейся функции или отчет о деятельности фирмы и т.д.
Установка компонентов в Дельфи
Если после установки компонента на форму возникли проблемы с компиляцией проекта, то это значит, что Delphi не может найти .pas файл компонента.
Основные понятия Windows
Text Graphics Объектами называют сущности, имеющие различные свойства. Объектами называют сущности, имеющие различные свойства. Graphics
Ввод вывод данных в дельфи
Ввод и вывод данных в среде Дельфи Дельфи представляет собой интегрированную среду разработки, инструменты которой позволяют значительно ускорить процесс разработки, создания и отладки программ.
Основы создания лабиринта и движение в нём
Text Text Text Text Text Text Text Graphics Выполните построение лабиринта и задайте движения объекта по составленному лабиринту, переместив объекты в указанное место (склад). Выполните построение лабиринта и задайте движения объекта по составленному лабиринту, переместив объекты в указанное место (склад).
Человек, природа, общество
ЧЕЛОВЕК, ПРИРОДА, ОБЩЕСТВО Мы все умрем, людей бессмертных нет. И это все известно и не ново. Но мы живем, чтобы оставить след: Дом иль тропинку, дерево иль слово.