Просмотр полной версии : Динамичесское создание форм в Delphi 7
Есть в Delphi 7 компонент который может облегчить использование визуальных компонентов отображаемых динамически?
Хочу избежать использования кучи строк типа:
Edit1:=TEdit.Create(...);
Memo:=TMemo.Create(...);
Label1:=TLabel.Create(...);
Может быть можно использовать какие то спец контейнеры?
Yegor, что значит динамически?
Я имел в виду что на форме визуальные компоненты не заданы заранее, а добавляются программно в зависимости от нужд. Например нужно на форме отобразить текст значит добавляем TMemo.
Куда уж проще если размеры расположение и свойства компонентов не известны заранее.
mira, известны. Просто хочеться на одной и той же форме отображать то 1 то 2 то n-ный набор компонентов.
Yegor, ну если наборы зарание известны то чем тебя фреймы не устраивают?
а если неизвестны то уже непонятно что ты там упростить хочешь
xkor,о вот тут поподробнее,что за фреймы? Или имеется ввиду набор заранее созданных форм?
Yegor, нет, набор зарание созданных фреймов, ты фреймами чтоль никогда в дельфи не пользовался?
Создаёшь фрейм (так же как форму, он в списке шаблонов есть), а дальше в нужный момент в рантайме можно создать его вместе со всеми компонентами на нём.
Не пользовался. Спасибо, то что нужно. А как на форме можно менять фрейм на нужный прямо во время работы приложения, динамичесски создавать нужный объект фрейма на форме?
Что то некорректно перерисовываются фреймы в WIn 7. То надписей не видно то кнопок :(.
alexteam
15.07.2011, 11:33
при нажатии альт пропадают контролы ?
решения 2 - править контролс.пас либо юзать костыль (http://www.koders.com/delphi/fid46DB71DE69DB5D536E9A1EA93FD28F5470B438B0.aspx?s =xml)
alexteam, да без нажатия. КОгда начинаешь ресайзить форму контролы то появляются то пропадают.
alexteam
15.07.2011, 12:49
не наблюдается такое.
alexteam, у меня наблюдается только если контролы размещены на фрейме. Поставил на метод OnResize фрейма - Repaint, теперь при ресайзе мерцает но хоть не пропадает :)
Yegor, ну а чего ты хочешь от VCL который создавался когда 7ки и в проекте не было, как и висты)
xkor, А как же мнимая обратная совместимость в виндах? :)
alexteam
18.07.2011, 00:24
а что, чтото не работает или крашиццо ?
Не крашиться и работает, но не всегда виден результат работы.
Еще в семерке некорректно отрисовываются картинки в TComboboxEX, часто после смены индекса элемента отрисовывается старая картинка даже если сделать принудительный репаинт.
alexteam
18.07.2011, 01:25
TComboboxEX
хз чо эта 0_о
зы. по пропаданию контролов - перебилдь контролс.пас используя фикс отсюда.
http://qc.embarcadero.com/wc/qcmain.aspx?d=37403
alexteam, Combobox с возможностью отображения картинок из TListImage, к какждому элементу списка еще можно прицепить какой то объект. Этот компонент входит в стандартный набор.
alexteam, глупый конечно вопрос, но как пересобрать controls.pas, изменения внес но компилироваться он не желает.
alexteam
21.08.2011, 19:17
дык. подсоедини контролс.пас добавленем юнита в пустой проект. назнач проеку оутпутдир, скомпиль, перенеси с оутпутдир дкушку "куданадо"
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot