Главная страница
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.056 c
2-1175540005
Washington
2007-04-02 22:53
2007.04.22
Завершение проги


2-1175677804
DmitrichJ
2007-04-04 13:10
2007.04.22
Добавление данных в БД в виде мастера. Как лучше?


2-1175240923
Gloomer
2007-03-30 11:48
2007.04.22
Указать в ADOQuery путь к файлу


11-1156091877
Vladimir Kladov
2006-08-20 20:37
2007.04.22
вопрос по free pascal


4-1164636377
Creative
2006-11-27 17:06
2007.04.22
есть ли разница между onKeyUp и onKeyPress?