Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Эмуляция модального окна / 13 сообщений из 13, страница 1 из 1
01.08.2008, 13:51
    #35465605
vovan_z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
Вопрос:
Окно может открываться как модальное(Никуда нельзя из него уйти) и как не модальное. Не очень хочется делать 2 варианта окна, да и с модальными окнами работать сложнее. Кто нибудь делал эмуляцию работы модального окна для MDI окна?т.е. просто взводим переменную и окно работает как модальное.
может кто то уже делал?Или какие нибудь еще решение?
...
Рейтинг: 0 / 0
01.08.2008, 15:02
    #35465810
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
vovan_zВопрос:
Окно может открываться как модальное(Никуда нельзя из него уйти) и как не модальное. Не очень хочется делать 2 варианта окна, да и с модальными окнами работать сложнее. Кто нибудь делал эмуляцию работы модального окна для MDI окна?т.е. просто взводим переменную и окно работает как модальное.
может кто то уже делал?Или какие нибудь еще решение?
Возможно как-то и можно исхитриться, но в документации черным по белому написано, что
HelpYou cannot change a window's WindowType property dynamically at runtime.
Мне видится два варианта как обойти:
1. Отнаследоваться от немодального окна и изменить тип на модальное и открывать одно из двух окон по необходимости.
2. При потере фокуса окном возвращать фокус в окно.
И что означает что с модальными окнами работать сложнее?
...
Рейтинг: 0 / 0
01.08.2008, 15:06
    #35465819
Dmitry..
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
окно для МДИ - типа main
его можно открыть как sheet,
а можно как обычное окно, при этом МДИ задизаблить.
...
Рейтинг: 0 / 0
01.08.2008, 15:45
    #35465927
vovan_z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
Локшин Марк
Возможно как-то и можно исхитриться, но в документации черным по белому написано, что
HelpYou cannot change a window's WindowType property dynamically at runtime.
Мне видится два варианта как обойти:
1. Отнаследоваться от немодального окна и изменить тип на модальное и открывать одно из двух окон по необходимости.
2. При потере фокуса окном возвращать фокус в окно.
И что означает что с модальными окнами работать сложнее?

сложнее значит что передавать параметры в эти окна нужно по разному:
для окна обычного я объявляю экземпляр окна и пишу в эго instans variable все что мне нужно
для окна модального надо сделать структуру и приходится окна спарвочников плодить, так в одном случае надо что бы он открывался как обычное, в другом как модальное.
вариант 2 подходит, но там не все так просто! так например надо что бы фокус потом возвращался в вызвывавшее окно, и надо что бы блокировалось меню.
...
Рейтинг: 0 / 0
01.08.2008, 15:46
    #35465929
vovan_z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
Dmitry..окно для МДИ - типа main
его можно открыть как sheet,
а можно как обычное окно, при этом МДИ задизаблить.
Не понял вас, объясните подробнее
...
Рейтинг: 0 / 0
01.08.2008, 16:07
    #35466001
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
vovan_z
сложнее значит что передавать параметры в эти окна нужно по разному:
для окна обычного я объявляю экземпляр окна и пишу в эго instans variable все что мне нужно
для окна модального надо сделать структуру и приходится окна спарвочников плодить, так в одном случае надо что бы он открывался как обычное, в другом как модальное.
С точки зрения хорошего стиля написания кода - передавать правильно через структуру, а не instanse varuables. Плодить конечно придется, но затрат на дальнейшее сопровождение - нет. А если на все справочники одно окно - то вообще все очень быстро.
...
Рейтинг: 0 / 0
01.08.2008, 16:11
    #35466012
Oleg1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
Создать UserObject и в нем реализовать весь функционал. Создать два окна, модальное и mdi, положить в них этот uo.
...
Рейтинг: 0 / 0
01.08.2008, 16:17
    #35466029
vovan_z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
Локшин Марк
Да, хорошо делать стандартные спарвочники и смотреть их в одном окне. К сожалению не всегда можно сделать стандартный, часто приходится делать свои окна на каждый спарвочник, даже хотябы потому что параметры поиска требуются на окне.
...
Рейтинг: 0 / 0
01.08.2008, 16:22
    #35466040
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
vovan_z Локшин Марк
Да, хорошо делать стандартные спарвочники и смотреть их в одном окне. К сожалению не всегда можно сделать стандартный, часто приходится делать свои окна на каждый спарвочник, даже хотябы потому что параметры поиска требуются на окне.
Все возможно. Продумать механизм получше, и все получится... У нас вообще все окна редактирования в последнем проекте на одном окне построены.
...
Рейтинг: 0 / 0
01.08.2008, 20:33
    #35466456
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
vovan_z Dmitry..окно для МДИ - типа main
его можно открыть как sheet,
а можно как обычное окно, при этом МДИ задизаблить.
Не понял вас, объясните подробнее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
w_sheet w1,w2
/*открываем как шит*/
openSheet(w1,w_mdi)

/*открываем как обычное окно*/
w_mdi.enabled=false
open(w2,w_mdi)
/*надо только придумать как и когда активировать w_mdi*/

но я-бы тоже посоветовал наследование...
...
Рейтинг: 0 / 0
04.08.2008, 18:04
    #35469599
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
Oleg1Создать UserObject и в нем реализовать весь функционал. Создать два окна, модальное и mdi, положить в них этот uo.
Только в уже готовом проекте переделать так будет проблематично...
...
Рейтинг: 0 / 0
09.09.2008, 15:08
    #35529961
vovan_z
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
всем спасибо
...
Рейтинг: 0 / 0
15.09.2008, 19:46
    #35540629
ytrewq
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эмуляция модального окна
Приходилось сталкиваться с этой проблемой.
Делал очень просто. Работал с PFC - создавал окно типа W_SHEET... Затем сохранял под другим именем, входил в EditSource и менял предка на W_RESPONSE...
Все работает.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Эмуляция модального окна / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]