Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание компонент динамически.


Medusa__ ©   (2007-02-22 12:25:00) 

Здравствуйте!
Есть задача: динамически создавать табы в pagecontrol'е, на которых будет много-много всяких контролов (эдиты, буттоны, чекбоксы и пр.), каждому контролу надо присвоить некоторые события.
Я представляю себе это так:
объявлять куча массивов (например, Panels: array [1..100] of TPanel; Buttons: array [1..100] of TButton), потом создавать объект, присваивать ему кучу значений, некоторые события.. долго и ужасно.
Есть ли какой-то другой способ?
(например, может как-то можно интерпретировать текст, который delphi копирует в буфер, при edit->copy в ide)


Kolan   (2007-02-22 19:39:00) [1]

«не разводи тут — человек справшивал, ему ответили — пусть
сам разбирается.»

Так я и не развожу. :)


Суслик   (2007-02-22 19:35:00) [2]

не разводи тут - человек справшивал, ему ответили - пусть сам разбирается.


Kolan   (2007-02-22 19:34:00) [3]

«
да нет, жить должно.»

Я не про жизнь интерфейса, а про тех кто им будет пользоваться :)


Суслик   (2007-02-22 19:22:00) [4]


> Это не «тяжелый интерфейс „  это *опа :)

да нет, жить должно.


Kolan   (2007-02-22 19:22:00) [5]

«Есть ли какой-то другой способ?»

Есть — перепроиктировать интерфейс, «Ковдовство» почитать что ли…


Kolan   (2007-02-22 19:21:00) [6]

«100 кнопок и 100 панелей »

Это не «тяжелый интерфейс „  это *опа :)


Суслик   (2007-02-22 19:19:00) [7]

Там только при вставке в runtime проблемы могут быть с именами фреймов - имена то у них у всех одинаковые

Я в свое время так с этим оборолся

F := TYourFrame.Create(nil);
F.Name := '';
OwnerOfTheFrame.InsertComponent(F);


Medusa__   (2007-02-22 19:16:00) [8]

Суслик, КРУТО.
Как раз то, что искал.
Спасибо :-)


Суслик   (2007-02-22 19:12:00) [9]

А может тебе фреймами воспользоваться?

(TFrame)


Medusa__   (2007-02-22 19:09:00) [10]

Хм.. возможно я не так описал задачу.
На форму кидается панелька (в runtime), её можно перемещать, как только она появляется - у пейджконтрола появляется ещё одна закладка - со св-вами этой панельки (допустим, заказчик панельки, название и пр.).
Максимум - может быть 100 панелек.

Обычно это 10-15 панелек, очень редко бывает больше.


Суслик   (2007-02-22 18:59:00) [11]

если бы задачу лучше знать, то можно сказать какие тут способы.

но задуматься стоит вот о чем - 100 кнопок и 100 панелей - это весьма тяжелый интерфейс - может быть весьма тормозным.


Loginov Dmitry   (2007-02-22 18:57:00) [12]

Обрабатывать массивы в цикле.


Medusa__   (2007-02-22 18:54:00) [13]

Какой же?


Loginov Dmitry   (2007-02-22 18:31:00) [14]

> Есть ли какой-то другой способ?


Есть


Наверх

Титульная страница Поиск, карта сайта Написать письмо