powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как программно активировать пункт меню
7 сообщений из 7, страница 1 из 1
Как программно активировать пункт меню
    #32674168
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал свое меню, например такое:
SET SYSMENU TO
SET SYSMENU AUTOMATIC
DEFINE PAD Pad1 _MSYSMENU PROMPT "Пункт1"
DEFINE PAD Pad2 _MSYSMENU PROMPT "Пункт2"
.
.
ON PAD Pad1 OF _MSYSMENU ACTIVATE POPUP Popup1
DEFINE BAR 1 OF Pad1 PROMPT "Пункт1-1"
DEFINE BAR 2 OF Pad2 PROMPT "Пункт1-2"
.
.
ON SELECTION BAR 1 OF Pad1 DO MyProc


Как программно (а не интерактивно) активизировать требуемый пункт моего системного меню - например, для выполнения кода DO MyProc
С уважением, Алексей
...
Рейтинг: 0 / 0
Как программно активировать пункт меню
    #32674211
SergeyPl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В нужном место кода просто вызвать процедуру MyProc()
...
Рейтинг: 0 / 0
Как программно активировать пункт меню
    #32674538
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не годится..
Меня формируется программно и что там за код будет не известно заранее.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Как программно активировать пункт меню
    #32674654
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KНе годится..
Меня формируется программно и что там за код будет не известно заранее.


Раз он формируется программно, то как раз-таки можно заранее определить, что именно будет вызвано! Это делается через дополнительную процедуру "диспетчер"

Т.е. вообще все BAR-пункты вызывают одну и ту же программу "диспетчер" передавая ей в качестве параметра свой порядковый номер или текст-указатель. Что-то вроде:

ON PAD Pad1 OF _MSYSMENU ACTIVATE POPUP Popup1
DEFINE BAR 1 OF Pad1 PROMPT "Пункт1-1"
DEFINE BAR 2 OF Pad2 PROMPT "Пункт1-2"
.
.
ON SELECTION BAR 1 OF Pad1 DO DisProg WITH "Пункт1-1"


PROCEDURE DispProg
PARAMETERS cnBar
DO CASE
CASE m.cnBar="Пункт1-1"
DO MyProc
CASE m.cnBar="Пункт1-2"
...
ENDCASE

В случае необходимости, вызываешь не саму программу MyProc, а диспетчер DispProg с нужным параметром.
...
Рейтинг: 0 / 0
Как программно активировать пункт меню
    #32675217
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Владимир !
Примерно так я и решил эту задачу.
Я имел в виду другое. Нет ли каких-нибудь команд VFP или через API для того, чтобы добраться к команде, определенной в ON SELECTION BAR ...
Я так понял, что такой возможности нет :(

С уважением, Алексей Климов, MCP, MSCE
E-MAIL:vfox@bk.ru, ICQ:17060773
http://www.caws.atnet.ru/vfox
...
Рейтинг: 0 / 0
Как программно активировать пункт меню
    #32675476
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть, но только для системных пунктов меню

SYS(1500, '_MED_PASTE', '_MEDIT')

Для пользовательских пунктов SYS(1500) - не работает
...
Рейтинг: 0 / 0
Как программно активировать пункт меню
    #32691143
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я в курсе про SYS(1500).

С Уважением, Алексей
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как программно активировать пункт меню
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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