powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как влезть в контекстное меню
7 сообщений из 7, страница 1 из 1
Как влезть в контекстное меню
    #32939856
Andrey85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-то может подсказать мне как влезть в контекстное меню.Меню который появиться при правом клике на файл.
...
Рейтинг: 0 / 0
Как влезть в контекстное меню
    #32942998
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А поподробнее? Что за меню, с какой целью влезть?
...
Рейтинг: 0 / 0
Как влезть в контекстное меню
    #33360003
golb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот действительно, как туда влезть. Ситуция такова:
1. Есть контекстное меню с несколькими уровнями, созданное ассистентом бейсика (буду его дальше материть статическим).

2. Возникла необходимость на одну из этих менюх вызывать меню следующих уровней, причём строиться они должны динамически - из базы данных. Тут необходимо применение API-функций, поскольку речь идёт о меню вложенных уровней. Ну это вобщем нормально функционирует. Но:

3. Единственная проблема: можно ли как-то обеспечить "плавный" переход от менюх жёстко созданных ассистентом к менюхам, созданным динамически? Ну то есть статическое меню (при создании которого ассистентом подменю не предусматривались) должно иметь стрелку-указатель на подменю и по этой стрелке должно выплывать следующее (уже динамическое)меню, именно выплывать, когда курсор стоит на соответствующем пункте. То есть стандартно себя вести. Можно конечно сделать вызов динамического меню на щелчок статического меню, но как-то это некрасиво выглядит. Да и непривычно - ведь меню высшего уровня после щелчка исчезает...

4. Можно ли вообще как-нибудь получить handler меню, созданного при помощи ассистента бейсика?

Согласен, изврат это всё - но таковы требования реальности. Возможно ли это вообще: совмещать в бейсике-6 статически созданные контекстные меню с их динамическими детками?
...
Рейтинг: 0 / 0
Как влезть в контекстное меню
    #33360181
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4.
Я делал так:
hMenu = GetMenu(hwnd)
hSubMenu1 = GetSubMenu(hMenu, 0)

Ремарка: меню должно быть видимым... не для popup'а...
...
Рейтинг: 0 / 0
Как влезть в контекстное меню
    #33360246
golb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за отклик.
у меня как раз popup...


hMenu = GetMenu(hwnd)

вот тут я тоже вижу проблему (п.4 моего посланья).
Вот этот hwnd - этож и есть хэндлер. Манипулятор. Вот могу ли я получить манипулятор для меню, которое создано при помощи бейсиковского ассистента? И как?
...
Рейтинг: 0 / 0
Как влезть в контекстное меню
    #33360660
Letter_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, у менюшек другой класс, это типа "не окна виндоус", которые имеют хэндл.
Манипулятор бейсиковского (да и любого другого!) меню получить можно через хендл окна, которому оно принадлежит. Как я и написал.
А бейсиковский ассистент его создал, или - нет, не важно, один и тот же класс в результате создается в системе...
С поп-ап сложнее, они манипулятор тоже получают от виндов, но после первого "появления".
Я похожую проблему решил так - видимое меню сгородил на дополнительной, невидимой форме... Отсюда: сразу есть его манипулятор... по хендлу невидимой формы.
А уж поп-ап менюшки от второй формы делал на первой тсандартными средствами, гы. :))
...
Рейтинг: 0 / 0
Как влезть в контекстное меню
    #33360752
golb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо.
а что, это тоже выход!

Ну у меня в данный момент уже есть рабочий вариант, но он мне не очень нравится. Как я писал: на щелчок на видимом статическом попапе вываливается уже динамически построенное подменю со всеми его уровнями. Оно-то живое, работает, только вот после щелчка, когда нарисовывается это динамическое меню, его статический "папа" исчезает... что выглядит вобщем-то неестественно.

Если все уровни, начиная с первого, динамически построить - оно нормально пашет, но тут я не свободен, т.к. уже имеются несколько функцирующих пунктов меню (со своими поменюшками) на этом узле (в тривью всё происходит), которые трогать нельзя и которые построены статически. Мне необходимо добавить новый пункт в то же меню первого уровня, и деток этого нового пункта уже надо строить динамически. Говорю ж: изврат.

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


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