Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.045 c
15-1175075405
IMHO
2007-03-28 13:50
2007.04.22
Уроки Юрия Зотова


3-1170402908
desc
2007-02-02 10:55
2007.04.22
Поле назвали INNER


15-1174902497
ProgRAMmer Dimonych
2007-03-26 13:48
2007.04.22
Помогите, плз, найти MIDI-файл


10-1131360802
Dysan
2005-11-07 13:53
2007.04.22
не копируються данные из TWebBrowser


2-1175539848
sat
2007-04-02 22:50
2007.04.22
возведение в степень





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский