Вытаскивать окна из MDI и втаскивать обратно
От: ylem  
Дата: 18.08.12 09:37
Оценка:
Есть MDI приложение. Надо сделать так, что бы окна можно вытаскивать наружу (делать самостоятельными окнами) и втаскивать обратно. Использоваться будет, главным образом, для многомониторных систем.
Как сделать поудачней? Может быть где-нибудь такое, что бы не изобретать?

Просто вытаскивать окно наружу не получится, видимо -- курсор упирается в край родительского окна.
Втаскивать -- тоже, потому что непонятно, как отличить, то ли пользователь внутрь родительского перетащил то ли просто сверху.
Re: Вытаскивать окна из MDI и втаскивать обратно
От: Аноним  
Дата: 18.08.12 09:46
Оценка:
Y>Может быть где-нибудь такое, что бы не изобретать?
visual studio shell
вроде оно даже бесплатное
Re[2]: Вытаскивать окна из MDI и втаскивать обратно
От: ylem  
Дата: 18.08.12 11:47
Оценка:
Здравствуйте, Аноним, Вы писали:

Y>>Может быть где-нибудь такое, что бы не изобретать?

А>visual studio shell
А>вроде оно даже бесплатное

Там точно MDI? (в VS ведь не MDI)
Re: Вытаскивать окна из MDI и втаскивать обратно
От: grosborn  
Дата: 18.08.12 11:50
Оценка:
> Есть MDI приложение. Надо сделать так, что бы окна можно вытаскивать наружу (делать самостоятельными окнами) и втаскивать обратно. Использоваться будет, главным образом, для многомониторных систем.
> Как сделать поудачней? Может быть где-нибудь такое, что бы не изобретать?
>
> Просто вытаскивать окно наружу не получится, видимо -- курсор упирается в край родительского окна.
> Втаскивать -- тоже, потому что непонятно, как отличить, то ли пользователь внутрь родительского перетащил то ли просто сверху.

Да как бы стандартный функционал для docking контролов. Пошариться в gui библиотеках.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[2]: Вытаскивать окна из MDI и втаскивать обратно
От: grosborn  
Дата: 18.08.12 11:51
Оценка:
> Да как бы стандартный функционал для docking контролов. Пошариться в gui библиотеках.

Оно конечно не MDI, но если есть возможность это обойти то проблема будет решена.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[3]: Вытаскивать окна из MDI и втаскивать обратно
От: ylem  
Дата: 18.08.12 13:25
Оценка:
>> Да как бы стандартный функционал для docking контролов. Пошариться в gui библиотеках.

G>Оно конечно не MDI, но если есть возможность это обойти то проблема будет решена.


Мне не нужна реализация, мне нужно представление того, как это будет выглядеть для пользователя.
А как "обойти" я не представляю.
В VS взяли "вкладку" за заголовок и потащили -- она стала окном. В MDI окно взяли за заголовок и потащили -- курсор уперся в границу родительского окна. Ну, допустим, если треть окна выехала за границы, делаем его отдельным. Может и криво, а может и нормально будет в итоге.
А вот как обратно его затащить? Вдруг пользователь просто сверху его решил разместить, а не внутрь затащить? Или никто не решит "размещать сверху", потому что это будет значить, что при потере фокуса дочернее окно скроется под родительским(?)...

Приветствуются соображения, а еще лучше примеры, если в каком софте где-нибудь такое чудище уже реализовано.
От MDI отказаться не предлагать.
Re[4]: Вытаскивать окна из MDI и втаскивать обратно
От: grosborn  
Дата: 18.08.12 13:40
Оценка:
> Мне не нужна реализация, мне нужно представление того, как это будет выглядеть для пользователя.
> А как "обойти" я не представляю.
> В VS взяли "вкладку" за заголовок и потащили -- она стала окном. В MDI окно взяли за заголовок и потащили -- курсор уперся в границу родительского окна. Ну, допустим, если треть окна выехала за границы, делаем его отдельным. Может и криво, а может и нормально будет в итоге.
> А вот как обратно его затащить? Вдруг пользователь просто сверху его решил разместить, а не внутрь затащить? Или никто не решит "размещать сверху", потому что это будет значить, что при потере фокуса дочернее окно скроется под родительским(?)...
>
> Приветствуются соображения, а еще лучше примеры, если в каком софте где-нибудь такое чудище уже реализовано.
> От MDI отказаться не предлагать.

Я нормального примера с перетаскиванием не знаю. Потому что все те примеры что я помню, они неудобны. Тот же docking в VS вынужден решать эти вопросы через дополнительную графическую индикацию способа расмещения, когда мы перетаскиваем окошко над родительским окном. Лучшее — переключатель способа размещения. То есть у MDI окна есть кнопка MDI vs Свободное окно.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[5]: Вытаскивать окна из MDI и втаскивать обратно
От: ylem  
Дата: 18.08.12 14:39
Оценка:
G>То есть у MDI окна есть кнопка MDI vs Свободное окно.

Пожалуй, что да. Спасибо.
Re[6]: Вытаскивать окна из MDI и втаскивать обратно
От: grosborn  
Дата: 18.08.12 14:49
Оценка:
> Пожалуй, что да. Спасибо.

Рад был помочь.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[3]: Вытаскивать окна из MDI и втаскивать обратно
От: Аноним  
Дата: 18.08.12 14:53
Оценка:
Y>Там точно MDI?
Абсолютно.
Y>(в VS ведь не MDI)
Неужели SDI?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.