powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не активный popup в меню, помогите!!!
20 сообщений из 20, страница 1 из 1
Не активный popup в меню, помогите!!!
    #37142288
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pad активный, а Popup неактивный, что делать?

Код:

Define Menu _Msysmenu
Define Pad sprav Of _Msysmenu Prompt 'ФАЙЛ'
Define Pad ym_r1 Of _Msysmenu Prompt 'ИНСТРУМЕНТЫ'
Define Pad VYXOD Of _Msysmenu Prompt 'ВЫХОД'
On Pad sprav Of _Msysmenu Activate Popup PAD_sprav
On Pad ym_r1 Of _Msysmenu Activate Popup PAD_prosm
On Selection Pad VYXOD Of _Msysmenu do vyxod
define Popup PAD_sprav
Define Bar 1 Of PAD_sprav Prompt 'ВЫХОД'
define Popup PAD_prosm
Define Bar 1 Of PAD_prosm Prompt 'ПОИСК'
on Selection Bar 1 Of PAD_sprav do vyxod
On Selection Bar 1 Of PAD_prosm Do ppc
Activate Menu _Msysmenu NOWAIT
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37143144
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем в последней строчке присутствует "NOWAIT"?
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37145272
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СТАРЧЕ,

нажать на Pad не пробовал? Может, и обломится. Мне везде обломилось popup-меню, вроде все работает...
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37145699
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И попробуйте сначала прописать все DEFINE, а затем все ON.
И, кроме того, желательно использовать "on selection pad"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Define Menu _Msysmenu
 Define Pad sprav Of _Msysmenu Prompt 'ФАЙЛ'
  define Popup PAD_sprav 
   Define Bar  1  Of PAD_sprav Prompt 'ВЫХОД'
 Define Pad ym_r1 Of _Msysmenu Prompt 'ИНСТРУМЕНТЫ'
  define Popup PAD_prosm 
   Define Bar  1  Of PAD_prosm Prompt 'ПОИСК'
 Define Pad VYXOD Of _Msysmenu Prompt 'ВЫХОД'

On SELECTION Pad sprav Of _Msysmenu Activate Popup PAD_sprav 
 on Selection Bar  1  Of PAD_sprav do vyxod
On SELECTION Pad ym_r1 Of _Msysmenu Activate Popup PAD_prosm 
 On Selection Bar  1  Of PAD_prosm Do ppc
On Selection Pad VYXOD Of _Msysmenu do vyxod

Activate Menu _Msysmenu
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37145806
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMА зачем в последней строчке присутствует "NOWAIT"?

Не я придумал, но и это не помогло(
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37145809
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igorbikСТАРЧЕ,

нажать на Pad не пробовал? Может, и обломится. Мне везде обломилось popup-меню, вроде все работает...

Глупо!!! Не обломится!!!
Если б обломилось я б сюда не писал(
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37145812
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

в этом случае, popup перемещается в форму, но уже активный)!
Ещё предложения есть?
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37146004
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в момент вызова меню открыта модальная форма, то это нормальное поведение. Так и должно быть. Глюком как раз является то, что Pad - активный.

Если данное меню необходимо для обслуживания самой модальной формы, то команды DEFINE должны быть поданы только после того, как форма станет видимой и активной. Как правило, это делается в событии Form.Activate().
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37146170
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Необходимо заменить системное меню, своим меню.
Меню заменяется и работает, только popup во всех pad неоктивен (серенький).
Меню создаю в main (файл на исполнение).
Меню в формах мне не нужно, нужно чтобы меню только сверху было.
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37146226
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СТАРЧЕНеобходимо заменить системное меню, своим меню.
Самая первая команда лишняя. Вот эта строчка лишняя

Код: plaintext
define menu _MSYSMENU

Это не замена. Это создание нового меню. Со слабо предсказумым поведением.

Чтобы понять, как надо писать замену, проще создать простое тестовое меню в стандартном построителе меню, затем сгенерить его и посмотреть получившийся файл mpr. В Вашем случае, это будет нечто вроде такого кода

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SET SYSMENU TO
SET SYSMENU AUTOMATIC

Define Pad sprav Of _Msysmenu Prompt 'ФАЙЛ'
Define Pad ym_r1 Of _Msysmenu Prompt 'ИНСТРУМЕНТЫ'
Define Pad VYXOD Of _Msysmenu Prompt 'ВЫХОД'

On Pad sprav Of _Msysmenu Activate Popup PAD_sprav 
On Pad ym_r1 Of _Msysmenu Activate Popup PAD_prosm 
On Selection Pad VYXOD Of _Msysmenu do vyxod

define Popup PAD_sprav MARGIN RELATIVE SHADOW COLOR SCHEME  4 
Define Bar  1  Of PAD_sprav Prompt 'ВЫХОД'
define Popup PAD_prosm 
Define Bar  1  Of PAD_prosm Prompt 'ПОИСК'

on Selection Bar  1  Of PAD_sprav do vyxod
On Selection Bar  1  Of PAD_prosm Do ppc

Команда активации меню, вобщем-то, тоже лишняя, хотя и мешать не должна
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37147201
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Теперь popup активен, только тогда, когда закрыта форма, а когда запускается форма popup снова становится неактивным.
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37147221
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СТАРЧЕВладимирМ,

Теперь popup активен, только тогда, когда закрыта форма, а когда запускается форма popup снова становится неактивным.А Ваша формочка случаем не модальная?
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37147305
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov,

Была модальная, поменял, но не помогло, всё равно popup неактивен(!!!
Ещё соображения есть?!?
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37147344
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СТАРЧЕБыла модальная, поменял, но не помогло, всё равно popup неактивен(!!!
Ещё соображения есть?!?
Значит, не поменяли

Добавьте в целях тестирования в Form.Activate() строчку

Код: plaintext
MessageBox(IIF(ThisForm.WindowType =  1 , "Модальная", "Не модальная"))
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37147402
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Ай, молодец!!!!
Действительно, не ту форму поменял!
И что, сейчас нужно все формы немодальными сделать, а как бороться с тем, чтобы пользователи не смогли попасть на форму родитель, пока дочерняя не закрыта.
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37147534
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, это уже организационные вопросы начинаются. В смысле, вопросы организации работы с приложением. Тут сама постановка вопроса не однозначная.

Если есть доступ к меню, то есть возможность из этого же меню повторно вызвать форму-родитель. Если надо запретить возврат к форме-родителю, то следут и запрещать вызов меню.

Надо бы начать с того, что уточнить, по какой причине нужен этот запрет. А действительно ли он нужен? Может, если вернуться в форму-родитель никаких особых проблем и не возникнет?
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37147546
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ,

Свое меню нужно для того чтобы убить системное, и добавить выход и поиск в меню, которое должно быть активно всегда.
A формы пока дочь не закроешь, в родителя нельзя.
Может всё-таки есть, какая либо возможность это реализовать?
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37147578
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы не поняли. То, что системное меню заменяется своим - это понятно. То, что свое меню имеет разные выпадающие подменю, тоже не вызывает сомнения. Сомнения вызывает необходимость запрета возврата в родительскую форму, пока не закрыта дочерняя. В большинстве случаев, в этом нет никакой необходимости

Однако если подобная необходимость возникает, то в такой модальной форме нет необходимости обращаться к пунктам меню. Она для того и делается модальной. Как правило, это некие сообщения.

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

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

Код: plaintext
1.
2.
3.
* Form.Activate()
Define Bar  1  Of PAD_sprav Prompt 'ВЫХОД'
Define Bar  1  Of PAD_prosm Prompt 'ПОИСК'

Кажется, даже не надо прописывать реакцию или признаки активности.
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37148034
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, если использовать идеологию FPD, то достаточно определить PADы и BARы со SKIP FOR
Код: plaintext
1.
2.
3.
4.
5.
6.
DISABLE_PAD_YM_R1=.f.
DISABLE_BAR_1_PROSM=.f.
...
Define Pad ym_r1 Of _Msysmenu Prompt 'ИНСТРУМЕНТЫ' SKIP FOR DISABLE_PAD_YM_R1
...
Define Bar  1  Of PAD_prosm Prompt 'ПОИСК' SKIP FOR DISABLE_BAR_1_PROSM
...
Ну и достаточно либо при activate-deactivate формы переключать соответствующие ключи, либо завести метод класса для переключения, либо вообще завести общую процедуру и сделать таблицу состояний ключей...
...
Рейтинг: 0 / 0
Не активный popup в меню, помогите!!!
    #37148998
СТАРЧЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, AndreTM

СПС за ответы!!!
По крайней мере, получена необходимая информация!!!
Буду выкручиваться!!!

Всё ТЕМА закрыта!!!
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не активный popup в меню, помогите!!!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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