Чтобы использовать редактор, все что нужно - зарегистрировать его, чтобы дизайнер форм мог создать его копию и использовать ее вместе с компонентом.
Это делается с помощью функции RegisterComponentEditor(), вызванной в пространстве имен компонента.
Добавьте следующий код в главный файл модуля:
//---------------------------------------------------------------------------
namespace Exampleeditor
{
void __fastcall PACKAGE Register()
{
TComponentClass classes[1] = {__classid(TExampleEditor)};
RegisterComponents("User's Components", classes, 0);
// Register the component editor
RegisterComponentEditor(classes[0], __classid(TMyEditor));
}
}
И, наконец, добавьте следующий код в заголовочный файл:
#ifndef ExampleEditorH
#define ExampleEditorH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Forms.hpp>
#include <dsgnintf.hpp>
dsgnintf.hpp содержит объявление класса TComponentEditor. Теперь вы можете инсталлировать компонент в палитру и протестировать его.
Итак, из главного меню выберите Component | Install Component, затем ОК, чтобы инсталлировать компонент.
Если компилятор выдает ошибки, то проверьте, правильно ли вы ввели весь код.
Из главного меню выберите File | Close all, а потом - File | New Application.
После того, как в дизайнере появится пустая форма, поместите на нее компонент TExampleEditor.
Щелкните на нем правой клавишей, и вы видите два дополнительных пункта в его контекстном меню.
Попробуйте их оба, чтобы убедиться, что они работают.
Интересно, не правда ли? Теперь дважды щелкните на компоненте, и что произошло?
Запустился первый пункт меню.Может быть, это соответствует вашим ожиданиям, а может быть и нет. Далее демонстрируется, как это изменить.
|