powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Пункт меню
5 сообщений из 5, страница 1 из 1
Пункт меню
    #32173619
РусланVFP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я создал проект визардом...
В предлагаемом (стандартном) меню - Окна -> Arrange all. Этот пункт создан как BAR# (Другие варианты: Procedure Comand Submenu) на него прописан код _mwi_arran - Что ето такое ???
Мне нужно вызвать то событие которое происходит по нажатию на этот пункт меню... Подскажите плиз как это сделать.
...
Рейтинг: 0 / 0
Пункт меню
    #32173843
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае речь идет о неких системных событиях FoxPro жестко прописанных в самой среде. Вызвать это событие каким-либо другим способом невозможно.
Однако есть команда, позволяющая вызвать подобные пункты меню. В данном случае это выглядит так:

SYS(1500,'_MWI_ARRAN', '_MWINDOW')

Все подобные пункты меню создаются именно как BAR#, а прописанный код - это имя прошитого пункта меню.

Список системных имен меню можно посмотреть в разделе, который так и называется "System Menu Names", ну или через функцию SYS(2013)
...
Рейтинг: 0 / 0
Пункт меню
    #32173954
РусланVFP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ!
Вроде должно работать, всё написал доступно, но увы немогу добиться нужного результата :(

SYS(1500,'_MWI_ARRAN', '_MWINDOW')

_MWINDOW - что это такое ?
В хелпе:
cMenuName
Specifies the name of the Visual FoxPro system menu or submenu containing the menu item.

Я пробовал и так и так:

SYS(1500,'_MWI_ARRAN', '_MWINDOW')

SYS(1500,'_MWI_ARRAN', SYS(2013))

:(
Может какую-нибудь подробную инструкцию дашь? Плиз... Буду очень благодарен!
С уважением Руслан.
...
Рейтинг: 0 / 0
Пункт меню
    #32174067
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. SYS(1500) запускает на выполнение пункт существующего в данный момент меню. Т.е. если в текущем меню такого пункта нет, то можно и не дергаться.

2. В команде SYS(1500)

второй параметр - это имя BAR-пункта выподающего Popup-меню
третий параметр - это имя собственно Popup-меню

3. Нужный пункт можно создать в собственном меню. Действия через дезайнер меню:

-) В главной линейке меню создаю новый пункт, например "Окно"
-) В столбце "Prompt" указываю его как SubMenu и нажимая конпку "Edit" перехожу в режим редактирования этого подменю
-) Выбираю пункт главного меню View->Menu Option. В открывшемся окне необходимо изменить имя Popup-меню. По умолчанию, там стоит введенное слово "Окно". Вместо него необходимо написать "_MWINDOW"
-) Теперь создаю пункт собственно этого Popup-меню, например, "Все окна"
-) В столбце "Prompt" выбираем пункт "BAR#"
-) А в столбце команды пишем "_MWI_ARRAN"

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
...
DEFINE PAD _msm_windo OF _MSYSMENU PROMPT  "Окно"  COLOR SCHEME  3 
...
ON PAD _msm_windo OF _MSYSMENU ACTIVATE POPUP _mwindow
...
DEFINE POPUP _mwindow MARGIN RELATIVE SHADOW COLOR SCHEME  4 
DEFINE BAR _MWI_ARRAN OF _mwindow PROMPT  "Все окна" 
DEFINE BAR _MWI_SP100 OF _mwindow PROMPT  "\-" 
DEFINE BAR _MWI_ROTAT OF _mwindow PROMPT  "Следующее окно" 


Теперь при запуске твоего меню у тебя будет пункт меню, который ты и сможешь вызвать командой

SYS(1500,'_MWI_ARRAN', '_MWINDOW')

PS.
SYS(2013) - это просто список существующих имен системного меню. Запусти его в командом окне такой командой:

?SYS(2013)
...
Рейтинг: 0 / 0
Пункт меню
    #32174412
РусланVFP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное СПАСИБО!
С Уважением Руслан!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Пункт меню
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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