|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
Есть 2 формы, обе "As top-level". Вторая форма вызывается из первой. В этом случае я свободно могу переходить от 1 формы к другой (переключаться между ними), а необходимо сделать так, чтобы переход на 1-ю форму был невозможен пока не закроется 2-я. Т.е. сделать ее модальной. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 08:48 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
Вторая должна иметь тип "In top-level". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 08:55 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
Тут другая проблема возникает. 2-я форма по размеру больше первой. И если сделать 1-ю "as top-level", а вторую "in top level", то 2-я форма обрежется под размеры первой. =( ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 09:08 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
Или, если такой возможности нет, может можно закрывать как нибудь 2-ю форму при потере фокуса? Пробовал вставить в метод lostfocus 2-й формы thisform.release - результат нулевой, форма не закрылась. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 09:12 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
Были мысли поизвращаться немного - например, перед запуском 2-й формы, первую скрывать, потом расширять ее до размера 2-й, запускать 2-ю, после закрытия 2-й возвращать первоначальный размер 1-й. Но этот как та не очень хочется прибегать к подобным решениям, вот и спрашиваю может есть способ проще ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 09:18 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
faustgreen, 1. Зачем вообще формам назначать "As top-level form"? Какой в этом сакральный смысл? Сделайте их обе "In Screen" и будет вам счастье 2. Что мешает вторую форму сделать модальной? Создаете, блин, себе сложности. А затем героически их преодолеваете... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 09:47 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
Решил отказаться от построения приложения в окне Fox-а, а сделать все на отдельных формах, они глаз больше радуют ). А по поводу второй формы модальной я уже написал. Первая форма маленькая - форма авторизации(2-а эдита: логин и пароль, кнопка ok, кнопка выбора пользователя(чтобы не вводить логин вручную)). Так вот, форма вызываемая по нажатию "кнопки выбора пользователя", раза в 2 превышает размеры формы логина. И если сделать первую - "as top-level" , а вторую - "in top-level", то 2-я форма не сможет иметь размеры больше первой и будет видна только ее часть. Хм... Неужели все пишут проги на фоксе только в стандартном фоксовском окне ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 10:50 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
faustgreenРешил отказаться от построения приложения в окне Fox-а, а сделать все на отдельных формах, они глаз больше радуют ). А по поводу второй формы модальной я уже написал. Первая форма маленькая - форма авторизации(2-а эдита: логин и пароль, кнопка ok, кнопка выбора пользователя(чтобы не вводить логин вручную)). Так вот, форма вызываемая по нажатию "кнопки выбора пользователя", раза в 2 превышает размеры формы логина. И если сделать первую - "as top-level" , а вторую - "in top-level", то 2-я форма не сможет иметь размеры больше первой и будет видна только ее часть. Хм... Неужели все пишут проги на фоксе только в стандартном фоксовском окне ? 1. Почему форма авторизации должна быть модальной, какой в этом смысл, чем вызвано такое решение? 2. Выбор логина из списка - это не совсем правильно (хотя 1С так делает), ничего не случится если юзер свой логин наберёт руками. 3. Уже сказали, что если хотите проблем, то откажитесь от главного окна фокса :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 11:29 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
faustgreenРешил отказаться от построения приложения в окне Fox-а, а сделать все на отдельных формах, они глаз больше радуют ). А по поводу второй формы модальной я уже написал. Первая форма маленькая - форма авторизации(2-а эдита: логин и пароль, кнопка ok, кнопка выбора пользователя(чтобы не вводить логин вручную)). Так вот, форма вызываемая по нажатию "кнопки выбора пользователя", раза в 2 превышает размеры формы логина. И если сделать первую - "as top-level" , а вторую - "in top-level", то 2-я форма не сможет иметь размеры больше первой и будет видна только ее часть. Хм... Неужели все пишут проги на фоксе только в стандартном фоксовском окне ? Ну почему же все... Совсем и не все.... 1. Если уж делаете окно, заменяющее главное окно Фокса, то делайте его "нормальных" размеров или растягивайте на весь экран. Нечего окна для авторизации назначать главными... :-) 2. В той же 1С, например, выбор пользователей производится из комбо-бокса. Просто и со вкусом. Зачем Вам вторая форма - не понятно.... Или Вы хотите "врагам" выдать все тайны пользователей, кроме пароля... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 11:48 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
У меня главная форма есть, но она запускается после формы логина =). Наверное нужно поменять, хотя задумка изначально была другая. Спасибо за советы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 11:54 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
автор1. Почему форма авторизации должна быть модальной, какой в этом смысл, чем вызвано такое решение? В форму "логин" пользователь может ввести логин как в ручную, так и путем выбора из списка формы запускаемой по кнопке "выбор пользователя". И если эта форма будет не модальной, то ее могут случайно свернуть и ввести логин руками в первую форму(логин), например. Программа продолжит работать, а форма выбора пользователя(2-я форма) останется висеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 12:13 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
Меня бы все устроило, если, например, можно было бы отслеживать, сколько форм запущено, какая из них активная и т.п. Чтобы можно было ими управлять, закрыть при необходимости или переключится на другую. Но в хелпе я ничего похожего не нашел(всмысле работа с окнами). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 12:18 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
faustgreenМеня бы все устроило, если, например, можно было бы отслеживать, сколько форм запущено, какая из них активная и т.п. Чтобы можно было ими управлять, закрыть при необходимости или переключится на другую. Но в хелпе я ничего похожего не нашел(всмысле работа с окнами). Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 12:24 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
А не пробовал контрольна открытие формы сделать, если она у тебя не модальная. .... IF TYPE("MyForm") = "O" .AND. ISNULL(MyForm) = .F. MyForm.RELEASE ENDIF DO FORM MyForm NAME MyForm ..... Это чтобы их не открывать кучу.. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2013, 12:42 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
faustgreenТут другая проблема возникает. 2-я форма по размеру больше первой. И если сделать 1-ю "as top-level", а вторую "in top level", то 2-я форма обрежется под размеры первой. =( Подчиненная форма должна иметь следующие настройки Код: sql 1. 2. 3.
Хотя согласен со всеми остальными. Для FoxPro режимом по умолчанию при проектировании приложений является использование в качестве главного окна приложения основного окна FoxPro. Разумеется, заменив системное меню и ToolBar на нужные в приложении. Соответственно все формы отображаются в режиме по умолчанию ShowWindow = 0 - In Screen Стандартное решение проблемы ввода логина/пароля - это основная (главная) форма приложения развернутая на весь экран и внутри нее маленькая модальная формочка с двумя полями для ввода логина/пароля Кроме того, описанный Вами интерфейс, потенциально глючный. Именно в силу того, что стартовая форма не видна "под" подчиненной. Это крайне не удачный интерфейс. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2013, 13:42 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
faustgreenМеня бы все устроило, если, например, можно было бы отслеживать, сколько форм запущено, какая из них активная и т.п. Чтобы можно было ими управлять, закрыть при необходимости или переключится на другую. Но в хелпе я ничего похожего не нашел(всмысле работа с окнами). Кроме уже названный коллекций _VFP.Forms() и _SCREEN.Forms() никто не мешает самостоятельно сделать список открытых форм. Просто каждую команду открытия/закрытия формы сопровождать соответствующей записью в своей собственной коллекции ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2013, 13:45 |
|
Как сделать модальными 2 формы верхнего уровня ?
|
|||
---|---|---|---|
#18+
ВладимирМfaustgreenМеня бы все устроило, если, например, можно было бы отслеживать, сколько форм запущено, какая из них активная и т.п. Чтобы можно было ими управлять, закрыть при необходимости или переключится на другую. Но в хелпе я ничего похожего не нашел(всмысле работа с окнами). Кроме уже названный коллекций _VFP.Forms() и _SCREEN.Forms() никто не мешает самостоятельно сделать список открытых форм. Просто каждую команду открытия/закрытия формы сопровождать соответствующей записью в своей собственной коллекции Это поучения новичку или есть в реале? ЗЫ. Сколько, лет десять, вы воюете с этими коллекциями - когда для работы с ними достаточно ваши коды собрать в один класс. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2013, 22:15 |
|
|
start [/forum/topic.php?desktop=1&fid=41&tid=1583121]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 154ms |
0 / 0 |