Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.026 c
15-1174050490
Rule
2007-03-16 16:08
2007.04.22
УРАААААААААА, я купил машину :-)))


1-1172150843
Deeman
2007-02-22 16:27
2007.04.22
Диалог выбора файлов и папок


11-1154280166
Vladimir Kladov
2006-07-30 21:22
2007.04.22
Версия 2.37


8-1155109605
Alpine
2006-08-09 11:46
2007.04.22
Как повернуть рисунок (ROTATE) в TImage ?


1-1172734351
Алексей_666
2007-03-01 10:32
2007.04.22
Delphi 7,компонент TdxMemData - при запуске приложения вылет




   Наверх