C++ Builder - вопросы программирования




Листинг 6 2



Листинг 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 после внесения всех необходимых изменений.









Содержание  Назад  Вперед