Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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));
 
        }


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)