powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Программа для создания контекстного меню в Access
25 сообщений из 38, страница 1 из 2
Программа для создания контекстного меню в Access
    #39678119
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Access Shortcut (right-click) Tools

В качестве разработчиков наша основная задача - облегчить взаимодействие нашего пользователя с данными. Одним из способов обеспечения легкого доступа к функциям (сортировка, фильтрация и т. Д.) является создание контекстных меню с вызовом по нажатию правой кнопки мыши. К сожалению, Microsoft в последние годы сделала разработку такого меню более сложным, чем это было ранних версиях (до 2007).

К счастью, Dale Fye создал действительно приятную надстройку - инструмент быстрого создания контекстного меню , чтобы полностью изменить задачу создания таких контекстных меню.

Средство Access Shortcut Tools позволяет разработчикам быстро и легко создавать контекстные меню для правой кнопкой мыши через графический интерфейс пользователя. Разработчики программного обеспечения Windows ™ признают, что пользователи ожидают контекстно-зависимые контекстные меню при щелчке правой кнопкой мыши в приложениях. Access Shortcut Tools предоставляют следующие возможности:

- Создание новых контекстное меню
- Изменение существующих меню
- Копирование встроенных контекстных меню для использования во временных приложениях
- Скопировать существующие контекстные меню и соответствующий код из других баз данных Access
- Сгенерировать код VBA для создания или изменения меню во время выполнения


ДЖОР АНДЕРСОН :
2017-03-21 в 14:42

::: ВНИМАНИЕ РАЗРАБОТЧИКАМ БАЗ ДАННЫХ ACCESS :::
Люди ... Подумайте об этом ...
ВСЕ профессиональные приложения (Access и все остальное) содержат пользовательские контекстные меню быстрого доступа. И есть веская причина. Они помогают пользователям быть более эффективными, упрощая выполнение различных операций и т. д. ... простым щелчком правой кнопки мыши. Если вы не используете (создаете) пользовательские меню правой кнопки мыши в приложениях Access, подумайте об этом. Пользователи будут любить вас за это ... Я обещаю, и я знаю это из непосредственного опыта за последние 24,5 года разработки в Microsoft Access.

Плохая новость:

Microsoft удалила оригинальный диалог настройки для меню правой кнопки мыши с появлением ленты в версии Access 2007.
Результат ... чтобы создать пользовательские контекстные меню в> = A2007, вы должны написать много сложного и сложного кода.

(Очень) ХОРОШИЕ новости :
Дейл потратил более года на разработку нового, современного инструмента Access Shortcut Tools ... который является оригинальным инструментом быстрого доступа к STEROIDS.
Результат ... НЕ требуется код. Инструмент Dales делает все это для вас, делая его легким для создания пользовательского контекстного меню ... на самом деле намного проще, чем с оригинальным инструментом Microsoft.

Я использую этот инструмент еженедельно, и без этого, ну ... в лучшем случае было бы больно продолжать разрабатывать пользовательские контекстные меню быстрого доступа. Я помог Dale бета-тестировать этот инструмент почти год, в котором было добавлено много интересных функций, которых нет в первоначальном инструменте Microsoft Customize.

Можно загрузить полностью функциональную пробную версию инструмента Access Shortcut Tools ( 32-разрядный Office , 64-битный Office ). К сожалению полная версия платная и просят за неё 50 вечнозелёных.

А кто как выкручивается при создании контекстных меню? Лично я их создаю В Access 2003, а затем импортирую в свою базу.
-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678202
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
win8,32 разрядный не дает ставить ("система windows защитила ваш компьютер")
может я и ретроград,но такой код не считаю сложным (пример):
(т.к посмотреть не удалось скажите а создание групп и подменю предусмотрено?)
Код: vbnet
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.
Option Compare Database
Option Explicit
Private cbPop As Office.CommandBar

Private Sub Form_Close()
cbPop.Delete
End Sub

Private Sub Form_Load()
Dim cbb As Office.CommandBarButton, cbb1 As Office.CommandBarButton
Dim cbb2 As Office.CommandBarButton, cbb3 As Office.CommandBarButton
Dim pPop As Office.CommandBarPopup, ppPop As Office.CommandBarPopup
 Set cbPop = Application.CommandBars.Add("ContextMenu" & Me.Hwnd, msoBarPopup, False, True)
With cbPop
   Set cbb = .Controls.Add(1) 'добавление элемента управления в cbPop
     cbb.Caption = "RunTest" 'или
     cbb.FaceId = 607        'блок
     cbb.OnAction = "ay"     'with
   Set cbb1 = .Controls.Add(1) 'добавление элемента управления в cbPop
     cbb1.BeginGroup = True
     cbb1.Caption = "RunTest1"
     cbb1.FaceId = 362
     cbb1.OnAction = "by"   'имя функции или  макроса
   Set pPop = .Controls.Add(10) 'надпись в cbPop c имя подменю
     pPop.Caption = "menu 1"
End With
      Set ppPop = pPop.Controls.Add(10) 'надпись в menu 1.1 c имя подменю сл.уровня
            ppPop.Caption = "menu 2" 'и т.д.,устанавливая нужный тип эл.управления
            ' 1-кнопка,10-контекстное меню
            'не забудьте объявить переменную и подключить библиотеку Office
      Set cbb2 = pPop.Controls.Add(1) 'добавление элемента управления в подменю1
            cbb2.Caption = "2"
            cbb2.FaceId = 601
            cbb2.OnAction = "dy"
      Set cbb3 = ppPop.Controls.Add(1)  'добавление элемента управления в подменю2
            cbb3.Caption = "3"
            cbb3.FaceId = 361
            cbb3.OnAction = "ey"
Me.Поле0.ShortcutMenuBar = cbPop.Name
End Sub


...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678223
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас ответить не могу, гляну попозже.

Лично я создавал меню через GUI, а не кодом. хотя можно и им.
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678244
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, проверил. Да, возможно. При задании пунктов подменю перед названием пункта надо ставить "--". Допускается несколько вложений (сколько - не знаю). Группы разделяются сплитерами (пока точно не разобрался)

Да, там устанавливается crylic92.ocx. Может по-этому у Вас и не стало?
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678261
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

БАААААЛЬШОЙ человеческий РАХМАТ!!!!
пошел к своей базе прикручивать)))
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678275
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,
может где и руководство есть?
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678319
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
На treeview не хочет работать
Так должно быть или можно что-то сделать?
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678338
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuJoss,
может где и руководство есть? Не нашел. разбирался методом тыка и смотрел описание для 2003.
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678382
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311sdku,
На treeview не хочет работать
Так должно быть или можно что-то сделать?
А treeview это поле или что-то другое? можно-ли что-то сделать- не знаю не пробовал (и не буду-что дает правый клик на treeview?)
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678391
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.:даже родное встроенное не выпадает
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678674
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

Поле, конечно.... Насчет что дает- ну я бы нашел какие функции в него напихать....
Что самое непонятное....
в TRW.application есть ShortCutmenuBar......
И ему можно присвоить значение...... Только новое меню в этом случае появляется на всей форме, кроме самого дерева....
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678785
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрите в свойствах какие события имеет treeview может после этого у Вас отпадут вопросы по контекстному меню для него
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39678872
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311sdku,

Поле, конечно.... Это элемент ActiveX,а не поле, который имеет свойства отличные от свойств поля
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679072
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuпосмотрите в свойствах какие события имеет treeview может после этого у Вас отпадут вопросы по контекстному меню для него
В смысле без mousedown и hitTest не обойтись?
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679081
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ок, отловлю я клик правой кнопкой, hitTestом выберу ноду, а как заставить это меню появиться?
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679140
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311,
Успехов в отлавливании события MouseDown (которого не существует) на treeview
(потом расскажите как)
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679260
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku... Успехов в отлавливании события MouseDown (которого не существует) на treeview
...
А мужики то не знают! (с)
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679263
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

THanks ))
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679264
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

может, и как эту менюху из небытия вызвать, подскажете?
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679268
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
showPopUp
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679273
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

От жеж.... как все просто..... и без понтов.....
Ну- доведется пересечься и узнать друг друга - с меня..... то что употребляете)
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679277
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК.
:)
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679338
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ведь для всех ActiveX полный перечень событий только в редакторе VBA
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679341
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку:ну отловите Вы событие,но контекстное меню назначить не сможете-нет такого свойства(открыть форму,отчет или вызвать процедуру-пожалуйста)
...
Рейтинг: 0 / 0
Программа для создания контекстного меню в Access
    #39679459
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, интересные Вы темы поднимаете, в 2003 -м Аксе было конечно "буйство красок"-контекстное меню собиралось просто и с удовольствием.
в 2007-м я создал себе такую процедуру (для примера порезал немного, подменю не использую) в модуле
Код: vbnet
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.
48.
49.
Public Function CreateReportShortcutMenu(Namemenu, frmname, skladname)
    Dim cmbControl As CommandBarButton
'     Dim cmbControl2 As CommandBarButton
'    Dim cmbControl3 As CommandBarButton
    On Error Resume Next
        With CommandBars.Add(Namemenu, 5, , True)
        err.Clear

        Set cmbControl = .Controls.Add(msoControlButton, 2188, skladname) '2521,15948 4)
            With cmbControl
                .Caption = "Возвраты"
                .OnAction = "GaveBack"
                .Tag = frmname
            End With
        Set cmbControl = .Controls.Add(msoControlButton, 247) '2521)
              With cmbControl
                .Caption = "Разделение набора"
'                .Enabled = IsLoadedFrm(frmname)' - в зависимости от того какая форма загружена
                .DescriptionText = "Разделение набора на отдельные части"
                .OnAction = "Nabor"
            End With
    End With
End Function
Public Function GaveBack()
MenuRaspr 1
End Function

Public Function Nabor()
Call MenuRaspr(2)
End Function
' исходя из различных наборов параметров делаю те или иные действия
Private Sub MenuRaspr(PrIznak As Integer)
Dim k As Long, txt As String, str As String
txt = CommandBars("Context").Controls("Возвраты").Tag
str = CommandBars("Context").Controls("Возвраты").Parameter
Forms(txt).Dirty = False
' ...
DoCmd.OpenForm "frm_Nakl_Izmen", acNormal, , "[Vipsk_Kod]= " & k & " AND [Postavka]= " & Number_of_Postavka_Tovarov, acFormEdit, acDialog, txt 
Forms(txt).Controls(str).Requery
End Sub

'создание нужного меню и присвоение полю 
Private Sub Form_Load()
' ...

    CreateReportShortcutMenu "Context", Me.Name, "Skld"
    Me.Поле0.ShortcutMenuBar = "Context"
' ...
end sub

...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Программа для создания контекстного меню в Access
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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