h находится объявление нового класса.
Листинг 6.2.
Файл NkEdit.cpp
#include <vcl.h>
#pragma hdrstop #include "NkEdit.h" #pragma package(smart_init) static inline void ValidCtrCheck(TNkEdit *) { new TNkEdit(NOLL);
} __fastcall TNkEdit::TNkEdit(TComponent* Owner) : TEdit(Owner) { } namespace NkEdit { void __fastcall PACKAGE Register() { TComponentClass classes[l] = {__classid(TNkEdit)}; RegisterComponents("Samples", classes, 0) ; } }
В файле заголовка NkEdit. h находится объявление нового класса. В файл реализации NkEdit.cpp помещена функция Register, которая обеспечивает регистрацию, установку значка компонента на указанную вкладку палитры компонентов.
В сформированный C++ Builder шаблон компонента нужно внести дополнения: объявить поля данных, функции доступа к полям данных, свойства и методы. Если на некоторые события компонент должен реагировать не так, как базовый, то в объявление класса нужно поместить объявления соответствующих функций обработки событий.
В листингах 6.3 и 6.4 приведены файлы заголовка и реализации компонента NkEdit после внесения всех необходимых изменений.
Содержание раздела