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

Вниз

Чем/как реализовать "многооконность" в одном приложении?   Найти похожие ветки 

 
mihauzen ©   (2006-02-22 18:18) [0]

Всем приветы!

Поясню вопрос. Приложение - какая-то система. Имеет различную функциональность (например, авторизации, редакторы различные). Не хочется, реализовывать каждую функциональность в отдельном модуле-приложении.
Как вариант, был предложени вариант с PageControl  с заинвизиблиными таб-щитами, но, тогда не используется вся клиентская часть основного окна (остается какой-то отступ от PageControl  до TabSheet"a). Как убрать этот отступ или как вообще принято реализовывать подобное (или может и не принято? :))?


 
Плохиш ©   (2006-02-22 18:33) [1]


> Не хочется, реализовывать каждую функциональность в отдельном
> модуле-приложении.

Реализуй в отдельном модуле-форме.


 
mihauzen ©   (2006-02-22 18:48) [2]

Так, не красиво ж получается...запускать отдельную прогу (окно) на каждую функциональность...


 
Плохиш ©   (2006-02-22 18:52) [3]


> запускать отдельную прогу (окно) на каждую функциональность

Может, это, обратно в дворники пойдёшь?


 
Desdechado ©   (2006-02-22 19:13) [4]

прога и окно - понятия разные


 
Экспериментатор   (2006-02-22 22:59) [5]

Что за отступ?
Что имеется ввиду?
Если это пара пикселов бордера то это ерунда, если нет то что?


 
LordOfRock ©   (2006-02-23 00:34) [6]

Лично я люблю с таб-контролами. А не окнами. Потому что переключатся между ними быстрее можно. И менно за это я больше Opera уважаю чем IE/Firefox


 
Marser ©   (2006-02-23 02:15) [7]

> И менно за это я больше Opera уважаю чем IE/Firefox

В Файрфоксе вкладки оже вроде как реализованы. Хотя мне больше нравится MyIE2.


 
mihauzen ©   (2006-02-23 12:11) [8]


> Desdechado ©   (22.02.06 19:13) [4]
> прога и окно - понятия разные

согласен, не корректно выразился - но суть, думаю ясна - не красиво, когда одна система реализована в разных модулях-формах.

> Экспериментатор   (22.02.06 22:59) [5]
> Что за отступ?
> Что имеется ввиду?
> Если это пара пикселов бордера то это ерунда, если нет то
> что?

имеется ввиду отступ, который остается между окном TabSheet"a и PageControl"a, особенно он  бросается в глаза, если сами "шапки"-TabSheet"ов сделать невидимыми. + сбивается позиционирование, за счет невидимости "шапок", т.к. в дизайн-тайме их отключить не возможно. При этом я использую PageControl имено с невидимыми "шапками",т.к. их наличие тоже ни к чему и не красиво.

А знает ли кто-нибудь вообще как реализовать данную задачу?

з.ы.: дворники, кстати, на Плохиша обиделись - что ж он, грят, корни то свои забывает.


 
msguns ©   (2006-02-23 12:36) [9]

>mihauzen ©   (23.02.06 12:11) [8]
>но суть, думаю ясна - не красиво, когда одна система реализована в разных модулях-формах.

Пихать всю "навороченную" логику в один юнит, а все элементы интерфейса "класть" в одну форму не только не красиво, а преступно. Даже если удасться отладить и запустить более-менее солидную "систему", реализованную в таком манере (на что уйдет уйма времени и нервов), править такую программу вряд ли кто возьмется. Даже сам автор спустя даже небольшой отрезок времени.
Не дураки же ведь создатели практически всех компиляторов, предусмотревшие сборку целевого кода (экзешника) из разных объектников (юнитов)


 
msguns ©   (2006-02-23 12:41) [10]

>А знает ли кто-нибудь вообще как реализовать данную задачу?

Если не нравится готовый "комбайн" в виде TPageControl, сооруди свой. Из сложенных друг на дружку нужным образом панелей. В совокупности со сплитерами и правильно выставленными выравниваниями, бордюрами и стилями, они могут составить визуальную конструкцию любой сложности, красоты и функциональности


 
_RusLAN ©   (2006-02-23 14:00) [11]

mihauzen ©   (23.02.06 12:11) [8]
не красиво, когда одна система реализована в разных модулях-формах


msguns ©   (23.02.06 12:36) [9]
Пихать всю "навороченную" логику в один юнит, а все элементы интерфейса "класть" в одну форму не только не красиво, а преступно.


по-моему, mihauzen использует слово "модуль" не в том смисле, в каком его обычно используют в Delphi.

Вам надо правильно объяснить задачу. Такие фразы как "в модуле-приложении", "в модулях-формах", "отдельную прогу (окно)" больше подходят для учителя  информатики, который плохо разбирается в своем предмете, чем для форума, где хочется получить конкретный ответ.

я б решал такую задачу (если я правильно ее понял) так:
наделал бы разных разных фреймов (каждый фрейм в отдельном юните :) )
и создавал/уничтожал бы их динамически когда нужно на одной форме.


 
mihauzen ©   (2006-02-23 14:32) [12]

Да, с  Дельфи я работал поскольку-постольку и правильной терминологией не владею.
Ясное дело, что писать в одном юните - ни кто не собирался, хотя, глядя на то, как реализованы компоненты самой Делфы (когда в IniFiles лежит THashedStringList) - дело не в этом.


> _RusLAN ©   (23.02.06 14:00) [11]
>............
> я б решал такую задачу (если я правильно ее понял) так:
> наделал бы разных разных фреймов (каждый фрейм в отдельном
> юните :) )
> и создавал/уничтожал бы их динамически когда нужно на одной
> форме.

Да, именно это и имелось ввиду - спасибо за интересный подход. Подумаю.


 
msguns ©   (2006-02-23 14:54) [13]

Судя по [12], автор под "модулем" понимал "исполняемый модуль", т.е. собственно *.exe

Тогда [9],[10] не в тему. В чем и приношу свои извинения.


 
mihauzen ©   (2006-02-23 15:31) [14]

Та все нормально - правильно выражать свои мысли тоже надо уметь (это я о себе).
Главное, что к дворникам не послали :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.011 c
2-1140974454
zxcv
2006-02-26 20:20
2006.03.12
указатели


2-1140886598
Radagast
2006-02-25 19:56
2006.03.12
Invalid floating point operation


15-1140431582
Pazitron_Brain
2006-02-20 13:33
2006.03.12
GZIP


2-1140401767
rosl
2006-02-20 05:16
2006.03.12
ehlib


15-1140016954
Хинт
2006-02-15 18:22
2006.03.12
Проблема с Indy10





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский