![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Столкнулся с такой проблемой: я создаю ~2700 компонентов динамически, для этого использую функцию DrawTable, которую сам и создал.
Так вот, если я вызываю эту функцию до отображения формы в событии OnCreate, то все компоненты создаются и отображаются где-то за 2 секунды, но если вызвать эту функцию уже после создания формы (напр. при нажатии на Button1), то отрисовка происходит очень медленно (приходится ждать минуты две ![]() Пробовал скрывать форму до вызова функции, но результат тот же ~2 мин.) Помогите, плз. Сам нашел ответ, может кому пригодится: Если нужно сделать таблицу, в которой ,будут находиться текст и рисунки, как нужно было мне, то необходимо использовать TStringGrid, и не размножать тучи компонентов... А если все-таки возникла необходимость создать большое количество компонентов, то нужно создать панельку, у которой Owner = nil, накидать в нее компонентов, у которых Owner = Panel, а потом саму панельку положить на форму. Например так: Код:
Panel := TPanel.Create(nil); for i:=1 to n do begin Comp := TComponent.Create(Panel); Comp.Parent := Panel; end; Panel.Parent := Form1; Последний раз редактировалось MakcRX, 09.05.2009 в 00:35. |