Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Frames vs Embedded Forms


Автор: Bose 21.2.2007, 15:17
Раньше всегда пользовался Frameами. Но недавно узнал, что вместо фрэймов многие использую формы, которые встраивают в другие формы(Embedded Forms). 

Делается это банальным выставлением свойства Parent у формы которую надо встроить(если не ошибаюсь) и убиранием заголовка(Caption) формы. Впрочем, реализация не важна.

Вопрос к тем, кто использует данный подход: чем формы лучше фрэймов?  smile

p.s. я знаю что проще проверить самому, но всё же хочется выслушать мнение тех кто с этим работает smile 

Автор: Yanis 21.2.2007, 15:25
Интересный вопрос. Впрочем, как всегда у тебя smile
Цитата(Bose @  21.2.2007,  16:17 Найти цитируемый пост)
Но недавно узнал, что вместо фрэймов многие использую формы, которые встраивают в другие формы(Embedded Forms).

Вот от кого узнал, у него и спроси smile

Добавлено @ 15:27 
Цитата(Bose @  21.2.2007,  16:17 Найти цитируемый пост)
Делается это банальным выставлением свойства Parent у формы которую надо встроить(если не ошибаюсь) и убиранием заголовка(Caption) формы.

Там ещё со стилями придётся играться, что бы окно фокус не забирало у Parent-окна. По сути, после всех манипуляций и получается фрейм.
Если угодно, после несложных манипуляций, и из фрейма можно получить окно.

Автор: Sunvas 21.2.2007, 16:36
Ащще-то таким извращеним мало-кто занимается. Обычно все пишут на вкладках pagecontrol-a. Кроме того мне кажется вышеописанное пародией на MDI окна.

Автор: Bose 21.2.2007, 17:24
Цитата(Yanis @  21.2.2007,  15:25 Найти цитируемый пост)
Интересный вопрос. Впрочем, как всегда у тебя 

На неинетересные вопросы отвечать скучно. Да и к тому же, 95% ответов есть в Drkb и Internete:D 
Цитата(Yanis @  21.2.2007,  15:25 Найти цитируемый пост)
Вот от кого узнал, у него и спроси 

Я в английском не столь силён, да и вообще считаю, что удобно беспокоить автора независимой программы расспросами о том, почему он выбрал именно такое решение. 


Цитата(Yanis @  21.2.2007,  15:25 Найти цитируемый пост)
Там ещё со стилями придётся играться, что бы окно фокус не забирало у Parent-окна.

А чем плохо забирание фокуса. Разве это будет визуально заметно?

Интересней, как такие формы будут работать с Shortcuts. Но это видимо надо проверять. 

Цитата(Sunvas @  21.2.2007,  16:36 Найти цитируемый пост)
Ащще-то таким извращеним мало-кто занимается.
 
Вероятно. Жаль, что здесь таких нетsmile

Цитата(Sunvas @  21.2.2007,  16:36 Найти цитируемый пост)
Обычно все пишут на вкладках pagecontrol-a. 

Это совершенно не заменит Frame. 

Цитата(Sunvas @  21.2.2007,  16:36 Найти цитируемый пост)
Кроме того мне кажется вышеописанное пародией на MDI окна.

В принципе да. 

Из минусов, о которых я не подумал вначале:
У фрейма можно переопределять значения свойст компонент фрейма, ещё в Design-Time. С формой то же самое придётся делать только в Run-time.

Автор: MetalFan 21.2.2007, 19:19
мне не нравится, как фрейм встраивается в dfm формы. всяческие inherited'ы прописывает. плюс еще если фрейм лежит в другом каталоге и съезжает путь, то получаешь маты от IDE...
я стараюсь использовать "встраиваемые формы". 
удобно тем, что можно использовать отдельно. совершенно не "нагружает" хост-форму...
правда не так наглядно выглядит в дизайне, как фреймы...
в общем я против фреймов) вот

Автор: Bose 21.2.2007, 21:44
Отлично! =)
MetalFan, а как встриваемые работают с горячими клавишами? А уровень вложенности - больше 2х форм(одна в другой) приходилось делать? 

Цитата(MetalFan @  21.2.2007,  19:19 Найти цитируемый пост)
мне не нравится, как фрейм встраивается в dfm формы. всяческие inherited'ы прописывает. плюс еще если фрейм лежит в другом каталоге и съезжает путь, то получаешь маты от IDE...

Собственно я по той же причине задумался о переходе. Хотя - это условные минусы фрэймов. Они же собственно говоря и являются плюсами(возможность перекрытия свойств фрэйма в контексте формы). То ли баг который фича, то ли фича которая баг.  smile 

Автор: Yanis 22.2.2007, 09:31
Попробовал сейчас встраиваемую форму... В принципе всё так же как и с фреймами.
Для меня совершенно всё равно, что использовать smile
Наверное потому что мне мало где пригождались фреймы.

Автор: Snowy 22.2.2007, 11:46
Насколько мне известно, единственная серъёзная разница - у фрейма нет окна.
В остальном вроде то же самое.
Фреймы не использую вообще.
Встраиваемые формы использую постоянно.
В текущем проекте сейчас на главной форме встроено 4 формы.
Сделал по простой причине - раделение кода на разные модули, не отрывая от визуальной части.
Кстати, это мне очень помогло. После тестирование был сделан вывод, что панели занимают много места и их нужно вынести в отдельные плавающие окна...
Ха! Сказал я, и просто отключил встраивание smile
Для Drag&Dock формы также более удобны.
Вобщем встраивание форм меня вполне устраивает, поэтому я не вижу необходимости использовать фреймы.

Автор: Yanis 22.2.2007, 12:00
Цитата(Snowy @  22.2.2007,  12:46 Найти цитируемый пост)
Насколько мне известно, единственная серъёзная разница - у фрейма нет окна.

Как нет окна? Есть smile
Поясни пожалуйста, что ты имел ввиду.

Автор: Snowy 22.2.2007, 12:09
И правда есть. Значит я ошибался - давно их не использовал.
Просто по логике, оно нафиг не нужно. Но есть...
Ну тогда разница только в IDE и dfm.

Автор: Yanis 22.2.2007, 12:13
Цитата(Snowy @  22.2.2007,  13:09 Найти цитируемый пост)
Просто по логике, оно нафиг не нужно.

Нужно. А кто же тогда будет парентом контролов, которые на него кидают?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)