Как создать RunTime компонент на панели создаваемой Runtime?
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
-
- Сообщения: 23
- Зарегистрирован: 13 апр 2005, 10:47
- Откуда: LT Vilnius
- Контактная информация:
Проблема в том, что мне надо создать TImage во время работы программы на панели, которая тоже создаётся во время работы программы. В свойстве Parent (компонента TImage) указать компонент которого ещё нету неполучается.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Это не удивительно. А что мешает дождаться таки создания панели и только после этого создать картинку? Кстати очень желательно не забыть про свойство Owner...

- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Надо думать в алгоритме... Описывай почему такая последовательность, может придумается чего... Может оно на самом деле и не нужно 


-
- Сообщения: 23
- Зарегистрирован: 13 апр 2005, 10:47
- Откуда: LT Vilnius
- Контактная информация:
Мне надо, чтобы во время работы програмы создавалось n-ое кол-во одинаковых панелей на которых должны быть Image и напр. Edit. Есть конечно другой способ - "клонирование" уже подготовленной панели со всеми компонентами. Но хочю попробовать именно создавать их а не "клонировать".
Я делаю так, то есть пробую делать
так всё работает, но Image создаётся на F_Main.ScrllBox_Pics, а поместить его на панель у меня никак неполучается 
Я делаю так, то есть пробую делать

Код: Выделить всё
if findFirst (pathJPG, faAnyFile, SR) = 0 then
repeat
Panel:= TPanel.Create(F_Main.ScrllBox_Pics);
with Panel do begin
Parent:=F_Main.ScrllBox_Pics;
Visible:= true;
Top:= Pan_top;
Left:= Pan_left;
Height:= 200;
Width:= 185;
Name:='Pan'+(inttostr(pan_top))+'x'+(inttostr(pan_left));
end;
with TImage.Create(F_main.ScrllBox_Pics) do begin
Parent:=F_Main.ScrllBox_Pics;
Visible:= true;
BringToFront;
Stretch:= true;
Top:= Img_top;
Left:= Img_left;
Height:= 145;
Width:= 169;
Name:='Img'+(inttostr(Img_top))+'x'+(inttostr(Img_left));
Picture.LoadFromFile(pathF + '\' + sr.Name);
end;

Delphi 7
ICQ 338-030-989
ICQ 338-030-989
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
дык а что помешало написать Parent := Panel; ?
