|
Окно поверх всех окон (обычное приложение) | ☑ | ||
---|---|---|---|---|
0
Mr_Best
20.07.15
✎
11:23
|
Добрый день коллеги!
Есть необходимость открыть дочернее окно в обычном приложении по верх родительского окна и закрепить его. Т.е. дочернее окно не должно прятаться до тех пор, пока пользователь его не закроет. Причем пока дочернее окно открыто, пользователь может работать с открытым родительским окном и при выполнении некоторых действий на дочернем окне меняются данные. Вообщем нечто похожее на окно диспетчера задач Windows в режиме "Поверх всех окон". Возможно ли это в обычном приложении 1С? |
|||
1
Лефмихалыч
20.07.15
✎
11:25
|
перед закрытием родительского окна проверяй. что там с дочерним. Как проверять - вариантов олимпиард
|
|||
2
Mr_Best
20.07.15
✎
11:30
|
(1) дело в том, что дочернее окно прячется, если например нажать куда-нибудь на родительское окно (не закрывается, а просто скрывается под родительское окно), а нужно, что бы оно оставалось по верх родительского вне зависимости от действий пользователя. Так возможно?
|
|||
3
GenAcid
20.07.15
✎
11:32
|
(2) В обычном приложении возможно: ОткрытьМодально()
|
|||
4
Mr_Best
20.07.15
✎
11:33
|
(3) разве в этом режиме пользователь сможет работать с родительским окном? Оно будет доступно?
|
|||
5
GenAcid
20.07.15
✎
11:35
|
(4) А, вон чего надо. Не, будет недоступно.
|
|||
6
Mr_Best
20.07.15
✎
11:36
|
(5) жаль .... 1С продолжает меня расстраивать своей дебильной примитивностью ....
|
|||
7
Ymryn
20.07.15
✎
11:39
|
Хмм, если у тебя это дочернее окно все равно будет поверх всего, то оно будет загораживать определенную область окна родителя. Может лучше тогда это и делать скрываемой/показываемой областью внутри исходного окна?
|
|||
8
Fish
20.07.15
✎
11:39
|
(6) Ну так "дебильные" разработчики явно не рассчитывали на всякие "сверхгениальные" хотелки, которые нафиг никому не нужны :)
|
|||
9
Mr_Best
20.07.15
✎
11:44
|
(8) вопрос спорный, и я не говорил что разработчики "дебильные", раз сделано так, значит на то есть причина. Спорить нет настроения.
|
|||
10
Fish
20.07.15
✎
11:46
|
(9) А как будешь решать проблему (7)? То, что дочернее окно будет перекрывать окно родителя?
|
|||
11
Mr_Best
20.07.15
✎
11:46
|
(7) да, скорее всего так и буду делать, так же изучаю вариант прикрепленного окна. Возможно это будет аналог не прячущегося свободного дочернего окна?
|
|||
12
Mr_Best
20.07.15
✎
11:48
|
(10) это окно небольшое, на нем располагается небольшой конструктор формулы. Окно появляется над полем табличного документа, предполагается, что пользователь после появления окна оттаскивает его в нужную область экрана и перетаскивает на него необходимые ячейки табличного документа.
|
|||
13
Fish
20.07.15
✎
11:56
|
(12) А что, обязательно его делать отдельным окном? Почему в одном окне не разместить с возможностью включать/выключать?
|
|||
14
Mr_Best
20.07.15
✎
12:02
|
(13) В связи ограничениями наложенными программой 1С буду делать так как вы предлагаете. Изначально, из-за недостатка опыта работы с формами был выбран данный вариант как предпочтительный с точки зрения удобства работы пользователя с интерфейсом, а так же количеством информации размещенной на родительской форме. Но теперь, после полученного опыта подход, к моему сожалению, вынужден изменить.
|
|||
15
Fish
20.07.15
✎
12:06
|
(14) А вообще, посмотри, как в типовых подбор организован. Для пользователей имхо удобно, и велосипед изобретать не надо.
|
|||
16
Fedot200
20.07.15
✎
12:16
|
(11) я вот так открываю:
форма = Обработки.ххххх.ПолучитьФорму(,ЭтаФорма); Форма.СостояниеОкна = ВариантСостоянияОкна.Прикрепленное; форма.СоединяемоеОкно = Истина; форма.ПоложениеОкна = ВариантПоложенияОкна.Авто; форма.ПоложениеПрикрепленногоОкна = ВариантПрикрепленияОкна.Право; форма.ИзменениеРазмера = ИзменениеРазмераОкна.Изменять; форма.РазрешитьЗакрытие = Истина; форма.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Нормальное; форма.ИзменятьСпособОтображенияОкна = ИзменениеСпособаОтображенияОкна.Разрешить; форма.РежимРабочегоСтола = Ложь; Форма.Открыть(); Открывается справа от родительского + можно жать хоть туды хоть сюды :-) |
|||
17
Лефмихалыч
20.07.15
✎
12:17
|
(2) ну, запиши в реквизит родительской формы или в переменную модуля родительской формы ссылку на дочернюю и проверяй перед закрытием этот реквизит или переменную
|
|||
18
Fedot200
20.07.15
✎
12:17
|
+(16) и открываемое окно не перекрывает родительское, что крайне удобно.
|
|||
19
Mr_Best
20.07.15
✎
12:21
|
(16) Спасибо всем! И отдельно Федоту 200 за кусок кода, так и сделаю! Тема закрыта.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |