Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
slamer

Получение всех пунктов меню

22.04.2012, 15:11. Показов 1215. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые коллеги, прошу Вашего совета.
Нужно при запуске приложения (ACCESS'02 Project) пробегаться по всем пунктам и подпунктам меню.
Сейчас это реализовано 'немного' некрасиво:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Private Sub Autorisation()
 
Dim i        As Integer
Dim cmdPopUp As CommandBarPopup
 
For i = 1 To CurrentProject.Application.CommandBars("Имя меню").Controls.Count
     If CurrentProject.Application.CommandBars("Имя меню").Controls.Item(i).Type = msoControlPopup Then
        Set cmdPopUp=CurrentProject.Application.CommandBars("Имя меню").Controls.Item(i)
        Call GetPUM1 (cmdPopUp)
     else
        ...
     end if
next i
 
End Sub
'----------------------------------------------------------------------------
Private Function GetPUM1(ByVal PUM As CommandBarPopup)
 
Dim PopUpMenu       As CommandBarPopup
Dim i            As Integer
 
    For i = 1 To PUM.Controls.Count
    
        If PUM.Controls.Item(i).Type = msoControlPopup Then
            Set PopUpMenu = PUM.Controls.Item(i)
            Call GetPUM2(PopUpMenu, FunctionCount())
        Else
            ...
        End if
    Next i
 
End Function
'---------------------------------------------------------------------------
Private Function GetPUM2(ByVal PUM As CommandBarPopup)
...
End Function
'----------------------------------------------------------------------------
...
Т.е. получается на каждый новый уровень вложенного popup меню вызывается своя функция, аналогичная предидущей, к тому же popup определенного уровня вложенности превышающий обрабатываемые не будет учитываться.
Как все это можно оптимизировать?
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.04.2012, 15:11
Ответы с готовыми решениями:

Как убрать один из пунктов контекстного меню по умолчанию?
Проблема такая - на запуск БД отключил все меню и окна структуры БД, но оставил контекстное меню мыши по умолчанию - это нужно...

Как программно заблокировать один из пунктов собственного меню?
У меня есть свое меню, где один из пунктов при открытии определенных форм необходимо блокировать от доступа.... Как программно...

Сдвиг всех пунктов меню в блоке header
Здравствуйте форумчане! Подскажите пожалуйста как можно сдвинуть меню (пункты меню) в хедере чуть ниже. Т.е. хедер остается на месте, а сам...

1
slamer
22.04.2012, 17:40
Пока вижу два варианта оптимизации данной ситуации:

1) Использовать коллекции. (CommandBars, Controls и тд.)
2) Использовать рекурсивный метод вызова функции.

???
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2012, 17:40
Помогаю со студенческими работами здесь

Добавить id для всех пунктов меню первого уровня
Есть скрипт меню. Нужно к каждому пункту меню добавить уникальный идентификатор - для того, чтобы потом задать каждому отдельные css стили....

Предотвратить открывание всех пунктов меню при загрузке
есть такое меню: <div id="menu"> <ul id="accordion"> <li id="m1"> ГЛАВНЫЙ ПУНКТ 1 <ul> ...

Поиск в файле всех пунктов меню (проверка кода)
С регулярными выражениями работаю впервые, вот возникла необходимость написать редактор меню, написал, хотелось бы узнать мнение более...

Центровка пунктов в выпадающем меню по центру ul блока (Битрикс меню)
Всем привет! Требуется в выпадающем меню, т.е. в самых блоках выпадающего меню, сделать чтобы все ссылки были в центре, т.е. чтобы они...

MainMenu: поменять цвет и ширину полосы меню и пунктов меню
По форуму конкретного решения не нашел. Не подскажите, возможно ли поменять цвет и ширину полосы меню и пунктов меню в приложении ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru