Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

Создание компонент динамически.   Найти похожие ветки 

 
Medusa__   (2007-02-22 12:25) [0]

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


 
Loginov Dmitry ©   (2007-02-22 18:31) [1]

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


Есть


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

Какой же?


 
Loginov Dmitry ©   (2007-02-22 18:57) [3]

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


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

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

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


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

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

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


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

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

(TFrame)


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

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


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

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

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

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


 
Kolan ©   (2007-02-22 19:21) [9]

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

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


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


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

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


 
Kolan ©   (2007-02-22 19:22) [11]

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

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


 
Kolan ©   (2007-02-22 19:34) [12]

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

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


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

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


 
Kolan ©   (2007-02-22 19:39) [14]

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

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



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.199 c
1-1172160963
Undertaker-wwf
2007-02-22 19:16
2007.04.22
FloatToStr и TFormatSettings - проблема с ThousandSeparator


2-1175226199
Dismember
2007-03-30 07:43
2007.04.22
Перемещение формы за Panel


15-1175154774
Post_
2007-03-29 11:52
2007.04.22
Иконки..


2-1175711062
sholomak
2007-04-04 22:24
2007.04.22
Работа с PDF


15-1174499240
Kerk
2007-03-21 20:47
2007.04.22
Summer of Code 2007