Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






События компонента TRichEdit






 

Компонент обладает рядом специфичных обработчиков событий. Например,

при изменениях в области выделенного текста вызывается событие:

property OnSelectionChange: TNotifyEvent;

 

В компоненте предусмотрена реакция на попытку изменения защищенного

текста (текста с атрибутом Protected, установленным в True):

property OnProtectChange: TRichEditProtectChange;

type TRichEditProtectChange = procedure (Sender: TObject; StartPos, EndPos: Integer;

var AllowChange: Boolean) of object;

 

Параметры StartPos и EndPos проинформируют нас об участке текста, в котором была предпринята попытка редактирования. Разрешение (true) или запрет (false) на изменения определяется программистом в формальном параметре AllowChange.

При наступлении противоречий между размерами редактора TRichEdit

и объемом содержащегося в нем текста возникает событие:

property OnResizeRequest: TRichEditResizeEvent;

type TRichEditResizeEvent = procedure (Sender: TObject; Rect: TRect) of object;

 

Метод сообщает оптимальный размер редактора в параметре Rect. При уничтожении экземпляра редактора TRichEdit последний проверяет, не находится ли в буфере обмена Windows его текст. Если да, то возникает событие:

property OnSaveClipboard: TRichEditSaveClipboard;

type TRichEditSaveClipboard = procedure (Sender: TObject; NumObjects, NumChars:

Integer; var SaveClipboard: Boolean) of object;

 

Параметр NumObjects содержит количество объектов буфера, а NumChars – количество символов. Для очистки буфера передайте в параметр SaveClipboard значение False.

Кнопки

 

Вы считали, сколько раз за день нам приходится нажимать различные кнопки? Если это кнопки пульта дистанционного управления или выключатель настольной лампы, то при их нажатии происходит некое событие: переключается канал TV, загорается свет. Перекочевав из повседневной жизни на экраны компьютеров, кнопка превратилась в самый популярный элемент интерфейса современного приложения. Именно благодаря кнопке формируется интуитивно понятный даже начинающему пользователю способ управления программой.

Список кнопок не исчерпывается классом TButton, это только начало. Стремление к удобству, наглядности восприятия, повышению функциональной нагрузки на компонент породило широкий спектр элементов управления, внешне лишь отдаленно напоминающих обычную кнопку, однако очень схожих по характеру решаемых ими задач. «Нажми кнопку – получишь результат».

Все изучаемые сегодня кнопки (за исключением TSpeedButton) берут начало от базового класса TWinControl, подробно рассмотренного в главе 6 «Невидимые классы», и наследуют объявленные в нем свойства и методы. Вместе с тем иерархическое дерево (рис. 8.3) «кнопкоподобных» элементов управления представлено несколькими самостоятельными ветвями, вносящими в компоненты свои зачастую принципиальные особенности. Поэтому далее будут рассмотрены только характерные для каждого элемента управления свойства, методы и обработчики событий. А из пройденного ранее напомним главное: основным событием, связанным с любой из кнопок, является щелчок:

property OnClick: TNotifyEvent;

 

Событие может быть инициировано щелчком кнопки мыши, нажатием клавиш клавиатуры или вызвано программным образом.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.