![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание компонент динамически.
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]> Есть ли какой-то другой способ?
Есть