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

Ваш аккаунт

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

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

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

Помогите с PageControl

36K
11 февраля 2010 года
Overmax2
63 / / 11.02.2010
Вот код функции, как обратится к объекту Image, который расположен на вкладке PageControl, из другой функции?
Или это нереально, так как Image создаётся внутри функции и после её выполнения к нему уже не обратиться?

void TForm1::newTabImage(String titl,int index){
TTabSheet *TabSheet = new TTabSheet(PageControl1);
TabSheet->PageControl = PageControl1;
TabSheet->Caption = titl;
PageControl1->ActivePageIndex=index;
TImage *Img=new TImage(PageControl1);
Img->Align=alCustom;
Img->Parent=PageControl1->Pages[index];
Img->Align=alClient;
Img->Canvas->MoveTo(100,100);
Img->Canvas->LineTo(200,200);
this->index++;
}
416
12 февраля 2010 года
MaitreDesir
380 / / 02.01.2008
Это невозможно, область видимости Image ограничена данной функцией (дело не в том, что он создается в функции, а в том, что он объявлен в функции). Если хотите получать к нему доступ из других функций - выносите объявление в форму (в класс), но тогда надо строго контролировать доступ к нему (чтобы не получать ошибки работы с памятью).
А вообще, вот, почитайте:
http://valera.asf.ru/cpp/book/c08.shtml
http://programmersclub.ru/12/
246
12 февраля 2010 года
GIZMO
1.8K / / 30.07.2004
Цитата: MaitreDesir
Это невозможно, область видимости Image ограничена данной функцией (дело не в том, что он создается в функции, а в том, что он объявлен в функции).


Все дело в том, что товарищ работает с VCL и инструкция

 
Код:
TImage *Img=new TImage(PageControl1);

помещает указатель на вновь созданный имадж в PageControl1->Components[]

Цитата: MaitreDesir
Если хотите получать к нему доступ из других функций ...


воспользуйтесь функцией PageControl1->FindComponent("Имя имаджа");

Единственно приэтом нужно давать осмысленные имена имаджам при создании, но это я думаю не сложно.

11
12 февраля 2010 года
oxotnik333
2.9K / / 03.08.2007
а можно еще складывать указатели в контейнер, тогда они не потеряются
416
12 февраля 2010 года
MaitreDesir
380 / / 02.01.2008
Цитата: GIZMO
Все дело в том, что товарищ работает с VCL и инструкция
 
Код:
TImage *Img=new TImage(PageControl1);


Поспешил, не заметил, извиняюсь.

36K
21 февраля 2010 года
Overmax2
63 / / 11.02.2010
PageControl1->FindComponent("Имя имаджа");
Спасибо огромное !!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог