Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как получить список свойств компонента


Автор: Vyacheslav 29.5.2002, 15:25
С++Builder( ну и Delphi конечно :) ) позволяет получить список опубликованных(published) свойств(property) и методов(event) используя RTTI. Ниже следующая функция  выводит список свойств и методов в ListBox
Код

#include <typinfo.hpp>
....
void __fastcall TForm1::GetPropertyList(TComponent *Component)
{
//берем все, что можно
 Typinfo::TTypeKinds SupportKinds;
         SupportKinds << tkUnknown << tkInteger << tkChar << tkEnumeration <<
           tkFloat <<  tkString << tkSet << tkClass << tkMethod << tkWChar << tkLString << tkWString << tkVariant << tkArray << tkRecord << tkInterface << tkInt64 << tkDynArray;
Typinfo::TPropList pList;
//получаем список свойств
int nPropCount = GetPropList((Typinfo::PTypeInfo)(Component->ClassInfo()),
                                 SupportKinds,
                                ((Typinfo::PPropList)(&pList)));
for( int j = 0; j < nPropCount;  j++)
    ListBox1->Items->Add( pList[j]->Name);
}

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