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

Ваш аккаунт

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

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

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

Объекты

374
22 ноября 2003 года
Pennywise
158 / / 20.05.2000
Cоздаю кнопки по следущей схеме:
............................
TButton *but;

for(int i=0;i<10;i++)
{
but=new TButton(this);
but->Parent=this;
but->Caption=AnsiString("Button-")+AnsiString(i);
but->Top=i*25;
but->Left=100;
}
..............................
Cоздаеться 10 объектов класса TButton.

Как я могу теперь обратиться к каждому созданному объекту по отдельности ? Очевидно что то связано с индексом, но синтаксис мне не известен....
3
22 ноября 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Pennywise
Cоздаю кнопки по следущей схеме:
............................
TButton *but;

for(int i=0;i<10;i++)
{
but=new TButton(this);
but->Parent=this;
but->Caption=AnsiString("Button-")+AnsiString(i);
but->Top=i*25;
but->Left=100;
}
..............................
Cоздаеться 10 объектов класса TButton.

Как я могу теперь обратиться к каждому созданному объекту по отдельности ? Очевидно что то связано с индексом, но синтаксис мне не известен....



Нормальным (обычным С++) способом никак.
Не знаю, как в VCL, а в MFC есть способ получить по хендлу окна указатель на связанного с ним экземпляром класса. Но это все "одевание штанов через голову".
Проще сразу сохранять указатели на созданные объекты, т.е. несколько переписать Ваш код:

 
Код:
TButton* but[10];

for(int i=0; i<sizeof(but)/sizeof(but[0]); i++)
{
    but = new TButton(this);
    but->Parent=this;
    but->Caption=AnsiString("Button-")+AnsiString(i);
    but->Top=i*25;
    but->Left=100;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог