Рекурсивное создание компонента
TShape* Shape=new TShape(Form1);
Shape->Width=Shape1->Width;Shape->Height=Shape1->Height;
Shape->Left=Shape1->Left;Shape->Top=Shape1->Top;
Form1->InsertControl(Shape);
Получатся куча Shape'ов. Как обрабатывать их собития???
Цитата:
Originally posted by Tigren0k
Я перетаскиваю по форме Shape и под ним создается новый:
TShape* Shape=new TShape(Form1);
Shape->Width=Shape1->Width;Shape->Height=Shape1->Height;
Shape->Left=Shape1->Left;Shape->Top=Shape1->Top;
Form1->InsertControl(Shape);
Получатся куча Shape'ов. Как обрабатывать их собития???
Я перетаскиваю по форме Shape и под ним создается новый:
TShape* Shape=new TShape(Form1);
Shape->Width=Shape1->Width;Shape->Height=Shape1->Height;
Shape->Left=Shape1->Left;Shape->Top=Shape1->Top;
Form1->InsertControl(Shape);
Получатся куча Shape'ов. Как обрабатывать их собития???
Пишешь функцию обработки события. А при создании делаешь следующее:
Shape->ИмяСобытия = имя_функции_обработчика;
ЗЫ:
Обработчик должен иметь те же параметры, что и стандартный.
Цитата:
Originally posted by AlexandrVSmirno
Пишешь функцию обработки события. А при создании делаешь следующее:
Shape->ИмяСобытия = имя_функции_обработчика;
Пишешь функцию обработки события. А при создании делаешь следующее:
Shape->ИмяСобытия = имя_функции_обработчика;
Спасибо! Только я немного не понимаю, у все этих компонентов будет одно и то же имя Shape, как это возможно?
Цитата:
Originally posted by Tigren0k
Спасибо! Только я немного не понимаю, у все этих компонентов будет одно и то же имя Shape, как это возможно?
Спасибо! Только я немного не понимаю, у все этих компонентов будет одно и то же имя Shape, как это возможно?
Shape - это имя переменной, в которой у тебя хранится указатель на TShape. И чтобы не потерять указатели при создании следующего Shape'а следует куда-то их складировать: например, в какой-нибудь массив или список.