Для удобства перед началом работы по созданию нашего компонента программиста «бегущая строка» создадим каталог для хранения нашего модуля и других файлов нашего компонента –“ component”. Теперь можно приступить к разработке компонента программиста «бегущая строка» его модуля RunText.pas и файла ресурсов. Для создания модуля компонента программиста, необходимо из меню Component выполнить команду New Component и в диалоговом окне New Component ввести информацию о создаваемом компоненте( см. рис.).


Компонент программиста бегущая строка


Поле Ancestor type должно содержать базовый тип для нашего создаваемого компонента. Этот базовый тип можно выбрать непосредственно из раскрывающегося списка либо непосредственно его вводом в поле если Вы конечно знаете его тип. В нашем случае для компонента программиста базовым типом будет стандартный компонент TCustomLabel, то есть его предок компонента Label.
В поле Class Name нужно ввести имя класса разрабатываемого компонента – оставим по умолчанию(см. рис.)

В поле Palette Page нужно ввести имя вкладки на которую будет установлен компонент программиста «бегущая строка» после его создания, то есть его значёк. Название вкладки можно выбрать из раскрывающегося списка или ввести в поле Palette Page новое имя вкладки , на ваше усмотрениеи она будет создана при добавлении компонента.
В поле Unit file name находится автоматически сформированное имя файла модуля компонента программиста . Щелкнем на кнопочке и выберем наш каталог “komponent”для хранения файлов и сохраним наш модуль под новым именем RunText.pas.
Последнее поле Search path нажимая кнопочку указываем путь к нашей папке с файлами“komponent” . Даллее нажимаем на кнопку OK и к текущему проекту добавляется сформированный Delphi - модуль, это шаблон модуля компонента с которым мы и будем работать. Текст этого модуля смотри на рисунке ниже.

 


В объявлении нового класса указан только тип предка родительского класс а TCustomLabel. В раздел реализации помещена процедура Register, которая используется для установки созданного ранее компонента программиста на указанную вкладку « New» палитры компонентов Delphi при регистрации нового компонента. Нашему компоненту программиста понадобятся некоторые свойства которыемы опубликуем, а прочие свойства надписи не будут видны в Инспекторе объектов. Перемещение текста в надписи реализуем с помощью компонента Timer. У компонента Timer есть событие OnTimer, генерируемое через заданные промежутки времени и каждый раз при получении этого события циклически будет сдвигаться надпись на одну букву влево. Для этого напишем метод, который назовём MoveText и назначим его обработчиком события OnTimer. Чтобы компонент RunText мог воспользоваться функциональностью компонента Timer , добавим объект класса ТTimer в класс ТRunText как приватный атрибут. Добавим к новому компоненту ещё свойство Speed, регулирующее скорость перемещения текста. Эта скорость зависит от промежутка времени между событиями OnTimer, а этот промежуток - задаётся свойством ТTimer.Interval, доступ к которому мы реализуем при помощи методов нового компонента программиста GetSpeed и SetSpeed. И наконец , циклический сдвиг текста реализуем с помощью функции RightStr, возвращающей подстроку заданной длины, считая от конца этой строки. Эта функция реализована в модуле StrUtils, а класс ТTimer – в модуле ExtCtrls. Добавим этих два модуля в секцию Uses.


В конструкторе нашего класса небходимо создать объект класса ТTimer (то есть вызвать его конструктор). Обратите Ваше внимание на понятие собственника объекта (аргумент AOwner).И если объект принадлежит другому, то его не нужно уничтожать явно, вызовом метода Free, так как такой объект освобождает память автоматически при уничтожении его собственника. Мы объявляем собственником объекта FTimer объект класса RunText, сославшись на себя при помощи ключевого слова Self.
Но конструктор родительского класса должен быть вызван до создания и инициализации дополнительных атрибутов объекта производного класса.

 

Установка компонента программиста

        Чтобы значёк компонента появился в палитре компонентов, он должен быть добавлен в один из пакетов (Packages) компонентов Delphi. Пакет компонентов – это файл с расширением dpk (Delphi PackadeFile). Например, компоненты, созданные программистом, находятся в пакете Dclusr70.dpk.
При добавлении компанента в пакет Delphi используется модуль компонента и файл ресурсов компонента, в котором должен находится битовый образ значка компонента программиста. Имя файла ресурсов компонента должно должно обязательно совпадать с именем с именем файла модуля компонента. Файл ресурсов имеет расширение dcr (Dynamic Component Resourse). При этом битовый образ, который находится внутри файла ресурсов, должен иметь имя, совпадающее с классом компонента.

 

Скачать модуль компонента программиста »:

 

Добавить комментарий


Защитный код
Обновить