Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекция 15. Тема: Создание новых компонентов

Тема: Создание новых компонентов.

 

При создании компонентов, являющихся наследниками компонентов C++ Builder, можно добавить новые свойства, которые могут отображаться в Инспекторе Объектов, можно добавлять новые события и т.п.

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

Пусть компонент будет наследником класса TEdit и называется TNewEdit. В его свойства, помимо обычных для TEdit, добавим два новых свойства: EnableNum и EnableLet типа bool. Первое разрешает или запрещает ввод цифр, а второе разрешает или запрещает ввод каких-либо символов, кроме цифр. Очевидно, что EnableNum=false и EnableLet=false надо запретить, тат как в такое окно ничего ввести невозможно.

Предусмотреть в компоненте метод Clear – очистку текста в окне и свойство Modified, которое будет показывать, был ли модифицирован текст с момента последней очистки. В момент очистки будем генерировать событие OnClear.

Компоненты в С++Builder компилируются в пакеты. Для создания нового пакета нужно:

1. Выполнить команду File->New и в появившемся диалоговом окне NewItems на странице New выбрать пиктограмму Package – пакет. Появится окно Диспетчера пакетов (Package Manager), где Contains – содержимое пакета, Require – список других пакетов, которые необходимы для поддержки создаваемого.

2. Сохранить пакет в файле с расширением.dpk.

3. Добавить новый компонент, щелкнув кнопку Add. В появившемся окне на вкладке NewComponent задать:

a. Родительский тип в списке Ancestor type (TEdit);

b. Имя нового класса в окне Class Name (ТNewEdit);

c. Страницу в библиотеке компонентов (Palette Page), на которой будет размещена пиктограмма нового компонента;

d. Ok.

4. Установить компонент, щелкнув по кнопке Install. Выполнив в окне Диспетчера Пакетов двойной щелчок по имени файла компонента, можно перейти в окно редактирования, где будет заготовка модуля нового компонента. Сохранить заготовку в файле.

Удаление зарегистрированного компонента можно выполнить командой Component->Package или командой Project->Options.

Прообраз нового компонента создан и зарегистрирован. Заготовка модуля компонента имеет вид:

<== предыдущая лекция | следующая лекция ==>
Перегрузка функций | ЛЕКЦИЯ № 4 Психофизиологические основы учебного труда и интеллектуальной деятельности. Средства физической культуры в регулировании работоспособности
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 220; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.