Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/34: Рейтинг темы: голосов - 34, средняя оценка - 4.94
Lubocka
126 / 1 / 1
Регистрация: 15.11.2011
Сообщений: 80
1

Контекстное меню

22.04.2012, 18:39. Просмотров 6837. Ответов 10
Метки нет (Все метки)

не могу найти пример как работать с контекстным меню
Только это http://office.microsoft.com/ru-ru/access-help/HA010282509.aspx

Но это не то что я хочу, а хочу я
чтоб стандартное меню оставалось плюс к нему , а вернее 1-м пунктом, моя команда
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2012, 18:39
Ответы с готовыми решениями:

Контекстное меню не открывается
создал базу данных. кто-то взял, закрыл доступ к изменению форм, на правую кнопочку мыши не...

Контекстное меню Access 2007
Доброго времени суток! Возникла следующая проблема, был бы очень признателен Вам за помощь. ...

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

Как убрать контекстное меню у отчёта?
Вопрос в заголовке темы.

Контекстное меню для работы в Runtime
Доброго времени суток). Прошу помощи в написании контекстного меню для работы в Runtime access с...

10
sr9yar
2 / 2 / 0
Регистрация: 16.03.2012
Сообщений: 10
25.04.2012, 00:45 2
вот примеры,
только тут надо разбираться-переводить ...

http://blogs.office.com/b/microsoft-...or-report.aspx
http://www.access-programmers.co.uk/forums/showthread.php?t=202673
0
Lubocka
126 / 1 / 1
Регистрация: 15.11.2011
Сообщений: 80
09.02.2013, 13:17  [ТС] 3
Все добралась я таки до контекстного меню.
И спотыкаюсь на каждом шаге.
Та ссылка, что в моем первом сообщении , она для Access 2007. Однако я пользуюсь 2010-м, планирую и 2013-м.
Там макросы уже имеют другой вид (кстати макросами я еще никогда не пользовалась)

Начала изучать по ссылке sr9yar
Так вот код
Visual Basic
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
39
40
41
42
43
44
45
46
47
Sub CreateReportShortcutMenu()
    Dim cmbRightClick As Office.CommandBar
    Dim cmbControl As Office.CommandBarControl
 
    Set cmbRightClick = CommandBars.Add("cmdReportsRightClick", _
                                        msoBarPopup, False, False)
 
    With cmbRightClick
        
        ' Add the Print command.
        Set cmbControl = .Controls.Add(msoControlButton, 2521)
        ' Change the caption displayed for the control.
        cmbControl.Caption = "Quick Print"
        
        ' Add the Print command.
        Set cmbControl = .Controls.Add(msoControlButton, 15948)
        ' Change the caption displayed for the control.
        cmbControl.Caption = "Select Pages"
        
        ' Add the Page Setup... command.
        Set cmbControl = .Controls.Add(msoControlButton, 247)
        ' Change the caption displayed for the control.
        cmbControl.Caption = "Page Setup"
        
        ' Add the Mail Recipient (as Attachment)... command.
        Set cmbControl = .Controls.Add(msoControlButton, 2188)
        ' Start a new group.
        cmbControl.BeginGroup = True
        ' Change the caption displayed for the control.
        cmbControl.Caption = "Email Report as an Attachment"
        
        ' Add the PDF or XPS command.
        Set cmbControl = .Controls.Add(msoControlButton, 12499)
        ' Change the caption displayed for the control.
        cmbControl.Caption = "Save as PDF/XPS"
        
        ' Add the Close command.
        Set cmbControl = .Controls.Add(msoControlButton, 923)
        ' Start a new group.
        cmbControl.BeginGroup = True
        ' Change the caption displayed for the control.
        cmbControl.Caption = "Close Report"
    End With
    
    Set cmbControl = Nothing
    Set cmbRightClick = Nothing
End Sub
программа спотыкается уже на
Visual Basic
1
2
    Set cmbRightClick = CommandBars.Add("cmdReportsRightClick", _
                                        msoBarPopup, False, False)
возможно надо подключить еще какую-нибудь библиотеку. Даю свой пример.
Пожалуйста помогите или дайте ссылки как работать с контекстным меню в Access 2010
0
Вложения
Тип файла: zip КонтекстноеМеню.zip (24.0 Кб, 96 просмотров)
mobile
Эксперт MS Access
24619 / 13430 / 2850
Регистрация: 28.04.2012
Сообщений: 14,731
09.02.2013, 20:39 4
Lubocka, смотрите отчет

Кстати, я добавил в ваш файл еще форму, где контекстное меню немного другой идеологии, с созданием контролов (With Events)
1
Вложения
Тип файла: rar КонтекстноеМеню2.rar (33.1 Кб, 300 просмотров)
09.02.2013, 20:39
Lubocka
126 / 1 / 1
Регистрация: 15.11.2011
Сообщений: 80
10.02.2013, 00:07  [ТС] 5
а где можно посмотреть эти команды на русском языке с описанием

Set cmbControl = .Controls.Add(msoControlButton, 2521)
Set cmbControl = .Controls.Add(msoControlButton, 15948)
Set cmbControl = .Controls.Add(msoControlButton, 247)

и т.д.
0
Lubocka
126 / 1 / 1
Регистрация: 15.11.2011
Сообщений: 80
17.02.2013, 18:55  [ТС] 6
отсюда http://www.microsoft.com/en-us/downl...ang=en&id=6627 беру эти команды.
В Параметры-Настройка ленты нахожу нужную команду, выписываю на листочек ее английское название. И в скаченном файле из Майкрософта нахожу написанную на листочке команду. В столбике "Policy ID" ID нужной мне команды.
Довольно таки долгий и сложный путь. Может что попроще да побыстрее имеется.
0
bogv167
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 3
19.12.2014, 10:09 7
Уважаемые форумчане, вот ведь какой затык получается... Долго боролся с этими несчастными контекстными меню в Access 2010, пробовал на макросах создавать, фигня полная... Макросы в Access хороши только для начинающих пользователей (и сам когда-то с этого начинал (потом все переделывал), честно скажу, не профессиональный я программист, юзер, хоть и сильно продвинутый). Наконец добрался до этого форума. Ура, все здорово и работает! Отличный инструмент!
Но радость длилась недолго. При первой загрузке формы все ОК. Но при переходах же с формы на форму при попытке вызова контекстного меню вылетает сообщение Access, причины возникновения которого "чайнику" отследить не удается... Помогите понять, в чем причина?
0
Вложения
Тип файла: zip context_menu.zip (90.2 Кб, 34 просмотров)
mobile
Эксперт MS Access
24619 / 13430 / 2850
Регистрация: 28.04.2012
Сообщений: 14,731
19.12.2014, 12:51 8
В Вашем варианте для идентификации экземпляров меню использовалась публичная перменная NameMenu. При вызове второй формы ее содержание затиралось и ссылка на экземпляр меню исчезала. Переделал переменную на массив. Конечно, можно было бы восстанавливать имя на событии активации формы, но этот вариант не сработает если форма всплывающая. С массивом или коллекцией достигается большая общность.
1
Вложения
Тип файла: zip context_menu.zip (28.1 Кб, 119 просмотров)
bogv167
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 3
20.12.2014, 10:11 9
Да, вот это и называется профессионализмом... Кстати, в реальном приложении одна из форм, на которую требуется повесить контекстное меню, как раз всплвывающая.
Еще вопрос "вдогонку":
в Public NameMenu(3), nomMenu
(3) - это количество Function (контекстных меню) в модуле Context_Menu?
0
mobile
Эксперт MS Access
24619 / 13430 / 2850
Регистрация: 28.04.2012
Сообщений: 14,731
20.12.2014, 11:20 10
Цитата Сообщение от bogv167 Посмотреть сообщение
в Public NameMenu(3), nomMenu
(3) - это количество Function (контекстных меню) в модуле Context_Menu?
Именно так
0
bogv167
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 3
28.09.2015, 16:09 11
mobile, еще раз вынужден просить Вашей помощи... Со времени нашего прошлого общения с успехом пользовал описанный алгоритм создания контекстного меню, все прекрасно. Пока не нарвался на необходимость создания несколько усеченного варианта контекстного меню отчета (без "Конструктора", "Параметров страницы" и т.п). Казалось бы чего проще - по накатаной выбирай нужные Policy ID из Office 2010 Developer Resources, и вперед... Но хоть режьте, не могу найти указанные стрелками пункты меню... Или неправильно пишу в коде - нужно не

Set cmbControl = .Controls.ADD(msoControlButton, № такой-то)

а нужно как-то по другому? Заранее благодарен.
0
Миниатюры
Контекстное меню  
Вложения
Тип файла: xlsx AccessControls.xlsx (88.3 Кб, 32 просмотров)
28.09.2015, 16:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2015, 16:09

Контекстное меню через VBA для отчёта
Нужно быстро убрать стандартное контекстное меню в отчётах и вместо него добавить меню с...

Контекстное меню, если оболочка Access свернута
Не работает контекстное меню если оболочка Access свернута, можно ли как-то это исправить?

Как обработать события TreeView в Access2000/XP? Контекстное меню тоже не работает
Как обработать события TreeView в Access? Нигде нет описания, не уже ли все так безнадежно? А как...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru