2.1. Проект. Основни принципи

Един възможен проект е да се преобразува текстов симулатор в "нещо" с удобен GUI интерфейс (този симулатор се използва за изучаване на компютърна архитектура и асемблер). За такъв проект би било хубаво да има индикатор, който да показва нула или една стойност, и въпреки че би било удобно да се използва стандартен компонент, нито един от тях няма такива свойства.

Първото нещо, с което трябва да започнете, когато пишете компонент, е да решите какво точно трябва да прави. Създаденият компонент трябва да бъде в един цвят, когато е включен, и в друг, когато е изключен. Трябва също така да има свойството On/Off. Добре, това звучи много просто (първото правило е да се опитате да поддържате проекта прост!).

Следващата стъпка е да решите на кой компонент ще се основава създаденият. Струва си да разгледаме йерархията на VCL тук. Ясно е, че компонентът ще бъде един вид TGraphicControl и ако искате да запазите компонента прост, защо не го направите обикновен кръг вместо сложна растерна графика. TShape на пръв поглед изглежда перфектен. Струва си да го опознаете по-добре (това може да стане с помощ или просто като го поставите във формуляр и разгледате отблизо неговите свойства и методи). Той има ненужни свойства и методи, но поне има цялата необходима функционалност, вградена в него.

Не можете да премахвате свойства или събития от компонента, от който наследявате, можете само да се придвижите с една стъпка нагоре в йерархията на наследяването. Това означава, че можете да се объркате от допълнителни свойства, които всъщност не са необходими за работата на компонента, ако изберете компонент, който е твърде високо в йерархията като предшественик, и обратното, трябва да напишете цялата функционалност сами, ако вземете предшественика твърде ниско в йерархията.

Всичко, което трябва да се направи, епроменете формата на компонента до желаната от вас и променете цвета на четката, когато индикаторът се включи или изключи. Всичко това е доста просто и сега, след като сте го измислили, можете да се заемете с работата.

2.2. Как да създадете компонент

Не се опитвайте веднага да компилирате дори най-простия компонент в библиотека с компоненти или библиотека с пакети, освен ако не сте сигурни, че работи. Затова е по-добре да създадете тестова програма за нейното отстраняване на грешки, което ще бъде направено сега.

Стъпка 1: Създайте тестово приложение:

Създаване на ново приложение (File New Application).

Добавяне на компонент TButton към формата по-близо до дъното.

Избиране на File Save All и запазване на формуляра като LEDForm.cpp и проекта като LEDProj.

Стъпка 2: Създайте компонент:

Избиране на Нов компонент или в C++Builder v1 Нов файл и избиране на Компонент в диалоговия прозорец Нови файлови елементи.

Задаване на тип Ancestor на TShape, име на клас TLED, Palette Page на „Samples“. Щракнете върху „OK“, без да щракнете върху „Инсталиране“, ако се използва версия 3 или по-стара (вижте фигура 2.1.).