| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Как создать свой редактор для property |
| Автор: Vyacheslav 17.6.2002, 13:24 |
| Для того, чтобы создать свой редактор для свойства (property), нужно 1. создать новый класс, наследовав его от TPropertyEditor или его потомков. 2. зарегистрировать его. Вот как, например, будет выглядеть редактор для свойства типа AnsiString c выбором значений из выпадающего списка MyPropertyEditor.h class TMyPropertyEditor : public Dsgnintf::TStringProperty { typedef Dsgnintf::TStringProperty inherited; public: virtual TPropertyAttributes _ _fastcall GetAttributes(void) { return TPropertyAttributes() << paValueList; virtual TPropertyAttributes _ _ fastcall GetValues(Classes::TGetStrProc Proc); }; //--------------------------------------------------------------------------- MyPropetyEditor.cpp TPropertyAttributes _ _ fastcall TMyPropertyEditor::GetValues(Classes::TGetStrProc Proc) { Proc("Один"); Proc("Два"); Proc("Три"); } //--------------------------------------------------------------------------- Reg_mycomp.cpp void fastcall PACKAGE Register() { TComponentClass classes0[1] = { _ _ classid( TMyComp) }; RegisterComponents("MyComponents", classes0, 0); RegisterPropertyEditor( *(GetPropInfo( _ _ typeinfo(TMyComp), "MyProp")->PropType), _ _ classid(TMyComp), "MyProp", _ _ classid(TMyPropertyEditor)); } |