Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Найти Control-ы на Form-е

2.0K
26 ноября 2002 года
Tristan
27 / / 17.10.2002
Есть форма, на ней панели, GroupВox-ы и др.
Как найти, например, все DBGrid-ы, а они могут быть и на панелях, и вооще где угодно, и что-то с ними сделать. Может кто делал такое...

Буду благодарен за исходник на [email]sanja@tpv.ru[/email]
358
26 ноября 2002 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Tristan
Есть форма, на ней панели, GroupВox-ы и др.
Как найти, например, все DBGrid-ы, а они могут быть и на панелях, и вооще где угодно, и что-то с ними сделать. Может кто делал такое...

Буду благодарен за исходник на [email]sanja@tpv.ru[/email]


Смотрим хелп и видим:

Цитата:

TComponent::ComponentCount

Indicates the number of components owned by the component.

__property int ComponentCount = {read
=GetComponentCount, nodefault};

Description

Use ComponentCount to find or verify the number of components owned by a component, or when iterating through the Components list to perform some action on all owned components. ComponentCount is used internally for such iterative procedures.

Note: The ComponentCount of a component contains the same number of items as in the Components list for that component.


Аха получим количество компонентов.
Смотрим далее:

Цитата:

TComponent::Components
Lists all components owned by the component.

__property TComponent* Components[int Index] = {read
=GetComponent};

Description

Use Components to access any of the components owned by this component, such as the components owned by a form. The Components property is most useful when referring to owned components by number rather than name. It is also used internally for iterative processing of all owned components.

Note: For convenience use Components with ComponentCount for iterative processing.


А чтобы проверить что компонент допустим принадлежит к TDBGrid
применим следующую конструкцию:
ClassName(Ptr2Class->ClassType());
Из всего вышеописанного пример:

Цитата:

TForm1::ButOnClick(TObject *Sender)
{
for(int i = 0; i < this->ComponentsCount; i++)
{
if(ClassName((this->Components)->ClassType()) == "TDBGrid")
{
//Тут делаешь что надо
}
}
}

2.0K
27 ноября 2002 года
Tristan
27 / / 17.10.2002
moonmike, спасибо!

Да, надо почаще в help заглядывать...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог