powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как мне сделать 2 контекстное меню?
16 сообщений из 16, страница 1 из 1
Как мне сделать 2 контекстное меню?
    #39254493
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер!
У меня есть вот такой код:
Код: 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.
Option Compare Database
Option Explicit
Private WithEvents cbb1 As Office.CommandBarButton
Private WithEvents cbb2 As Office.CommandBarButton
Private WithEvents cbb3 As Office.CommandBarButton
Private cb As Office.CommandBar
Private Sub Form_Close()
Set cbb1 = Nothing
Set cbb2 = Nothing
Set cbb3 = Nothing
cb.Delete
Set cb = Nothing
   End Sub
Private Sub Form_Open(Cancel As Integer)
Set cb = Application.CommandBars.Add("CONTEXTMENU" & Me.Hwnd, 5, , True)
Set cbb1 = cb.Controls.Add(1, , , , True)
    cbb1.Caption = "Строка1"
    cbb1.FaceId = 423
Set cbb2 = cb.Controls.Add(1, , , , True)
    cbb2.Caption = "Строка2"
    cbb2.FaceId = 420
Set cbb3 = cb.Controls.Add(1, , , , True)
    cbb3.Caption = "Строка3"
    cbb3.FaceId = 430
Список12.ShortcutMenuBar = cb.Name
End Sub


Этот код для Список12.
Всё замечательно.

Как мне сделать второе контекстное меню для Список 13 (другое. На пример Строка10, Строка11, Строка12...)
Спасибо!
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39254631
Alex Pancho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Abisma2008,

не уверн, но так пробовали:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Set cb2 = Application.CommandBars.Add("CONTEXTMENU" & Me.Hwnd, 5, , True)
Set cbb1 = cb.Controls.Add(1, , , , True)
    cbb1.Caption = "Строка12"
    cbb1.FaceId = 423
Set cbb2 = cb.Controls.Add(1, , , , True)
    cbb2.Caption = "Строка22"
    cbb2.FaceId = 420
Set cbb3 = cb.Controls.Add(1, , , , True)
    cbb3.Caption = "Строка32"
    cbb3.FaceId = 430
Список13.ShortcutMenuBar =cb2.Name
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39254684
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,
да в принципе все правильно,кроме, удаления объекта-событие close
(при изменениях в коде следите чтоб оно обязательно произошло)
Код: 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.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
Option Compare Database
Option Explicit
'установить ссылку на Microsoft Office
Private cb As Office.CommandBar
Private WithEvents cbb As Office.CommandBarButton
Private WithEvents cbb1 As Office.CommandBarButton
Private WithEvents cbb2 As Office.CommandBarButton
Private cb1 As Office.CommandBar
Private WithEvents cbb11 As Office.CommandBarButton
Private WithEvents cbb12 As Office.CommandBarButton
Private WithEvents cbb13 As Office.CommandBarButton
Private Sub Form_Open(Cancel As Integer)
 Set cb = Application.CommandBars.Add("CONTEXTMENU", msoBarPopup, False, True)
 Set cb1 = Application.CommandBars.Add("ffff", msoBarPopup, False, True)
 With cb
   Set cbb = .Controls.Add(1, , , , True)
     cbb.Caption = "RunTest"
     cbb.FaceId = 607
   Set cbb1 = .Controls.Add(1, , , , True)
     cbb1.BeginGroup = True
     cbb1.Caption = "RunTest1"
     cbb1.FaceId = 362
   Set cbb2 = .Controls.Add(msoControlButton, , , , True)
     cbb2.Caption = "RunTest2"
     cbb2.FaceId = 275
     End With
With cb1
    Set cbb11 = .Controls.Add(1, , , , True)
     cbb11.Caption = "RunTest"
     cbb11.FaceId = 601
    Set cbb12 = .Controls.Add(1, , , , True)
     cbb12.BeginGroup = True
     cbb12.Caption = "RunTest1"
     cbb12.FaceId = 361
   Set cbb13 = .Controls.Add(msoControlButton, , , , True)
     cbb13.Caption = "RunTest2"
     cbb13.FaceId = 274
     End With
Me.ВашеПоле1.ShortcutMenuBar = "CONTEXTMENU" 'или cb.Name
Me.ВашеПоле2.ShortcutMenuBar = "ffff" 'или cb1.Name
End Sub

Private Sub cbb_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
 'Ваша команда
    MsgBox "Test OK"
End Sub

Private Sub cbb1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
 ' Ваша команда
    MsgBox "Test1 OK"
End Sub

Private Sub cbb2_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
MsgBox "Test2 OK"
End Sub

Private Sub Form_Close()
    Set cbb = Nothing
    Set cbb1 = Nothing
    Set cbb2 = Nothing
    cb.Delete
    Set cbb11 = Nothing
    Set cbb12 = Nothing
    Set cbb13 = Nothing
    cb1.Delete
End Sub
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39254886
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuAbisma2008,
да в принципе все правильно,кроме, удаления объекта-событие close
(при изменениях в коде следите чтоб оно обязательно произошло)
Код: 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.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
Option Compare Database
Option Explicit
'установить ссылку на Microsoft Office
Private cb As Office.CommandBar
Private WithEvents cbb As Office.CommandBarButton
Private WithEvents cbb1 As Office.CommandBarButton
Private WithEvents cbb2 As Office.CommandBarButton
Private cb1 As Office.CommandBar
Private WithEvents cbb11 As Office.CommandBarButton
Private WithEvents cbb12 As Office.CommandBarButton
Private WithEvents cbb13 As Office.CommandBarButton
Private Sub Form_Open(Cancel As Integer)
 Set cb = Application.CommandBars.Add("CONTEXTMENU", msoBarPopup, False, True)
 Set cb1 = Application.CommandBars.Add("ffff", msoBarPopup, False, True)
 With cb
   Set cbb = .Controls.Add(1, , , , True)
     cbb.Caption = "RunTest"
     cbb.FaceId = 607
   Set cbb1 = .Controls.Add(1, , , , True)
     cbb1.BeginGroup = True
     cbb1.Caption = "RunTest1"
     cbb1.FaceId = 362
   Set cbb2 = .Controls.Add(msoControlButton, , , , True)
     cbb2.Caption = "RunTest2"
     cbb2.FaceId = 275
     End With
With cb1
    Set cbb11 = .Controls.Add(1, , , , True)
     cbb11.Caption = "RunTest"
     cbb11.FaceId = 601
    Set cbb12 = .Controls.Add(1, , , , True)
     cbb12.BeginGroup = True
     cbb12.Caption = "RunTest1"
     cbb12.FaceId = 361
   Set cbb13 = .Controls.Add(msoControlButton, , , , True)
     cbb13.Caption = "RunTest2"
     cbb13.FaceId = 274
     End With
Me.ВашеПоле1.ShortcutMenuBar = "CONTEXTMENU" 'или cb.Name
Me.ВашеПоле2.ShortcutMenuBar = "ffff" 'или cb1.Name
End Sub

Private Sub cbb_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
 'Ваша команда
    MsgBox "Test OK"
End Sub

Private Sub cbb1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
 ' Ваша команда
    MsgBox "Test1 OK"
End Sub

Private Sub cbb2_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
MsgBox "Test2 OK"
End Sub

Private Sub Form_Close()
    Set cbb = Nothing
    Set cbb1 = Nothing
    Set cbb2 = Nothing
    cb.Delete
    Set cbb11 = Nothing
    Set cbb12 = Nothing
    Set cbb13 = Nothing
    cb1.Delete
End Sub


Огромное спасибо!
Очень помогли!
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39255754
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,
Добрый день!
Для список код будет вот так:
Код: vbnet
1.
Me.Список12.ShortcutMenuBar = "ffff" 'или cb1.Name


Скажите пожалуйста. как будет код для подчиненной формы?
На пример подчиненная форма называется "Работа"
Сделал вот так, не получается
Код: vbnet
1.
Me.Работа.ShortcutMenuBar = "ffff" 'или cb1.Name
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39255767
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,
создавать в подчиненной форме
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39255785
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

Я очень извиняюсь!
Можно по подробнее?
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39255808
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008,
откройте подчиненную форму (из панели переходов или из конструктора в новом окне), в списке событий выберите открытие и процедура что уже предлагалась (на событии "закрытие" "освобождение" кнопок не нужно)
ЛЮБЫЕ изменения в коде:-форма в режиме конструктора>cервис>кнопка"просмотреть код"
закрыть форму, которая в режиме конструктора, сохраняя изменения
если ошибка все-таки возникнет закройте и откройте в базу (и после "сжать и восстановить" тоже)
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39255811
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuAbisma2008,
откройте подчиненную форму (из панели переходов или из конструктора в новом окне), в списке событий выберите открытие и процедура что уже предлагалась (на событии "закрытие" "освобождение" кнопок не нужно)
ЛЮБЫЕ изменения в коде:-форма в режиме конструктора>cервис>кнопка"просмотреть код"
закрыть форму, которая в режиме конструктора, сохраняя изменения
если ошибка все-таки возникнет закройте и откройте в базу (и после "сжать и восстановить" тоже)
Хорошо!
Спасибо!)
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39302215
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечерь!
Уважаемые!
Я хочу в контекстное меню второе окошко. (как например: на рабочий стол правой кнопкой нажимаем - "Вид" - "Мелкие значки")
Я хочу сделать контекстное меню с стрелочкой.
Подскажите пожалуйста как мне реализовать? Или пример кода.
За ранее спасибо!
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39302292
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Abisma2008,
2198543
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39302368
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39302457
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, guest_rusimport
Спасибо!
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39302502
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku
Скажите пожалуйста!
Я копирую вашу форму в другую базу (чистую), откраиваю сразу ошибка "Выражение загрузка, введенное в поле свойства события, вызывает ошибку: User-defined type not defined."

Причиной возникновения этой ошибки является невозможность запуска события вследствие нарушения логики обработки события. Например, если свойство формы "Открытие" имеет значение =[Field], возникнет эта ошибка, так ожидалось имя макроса или события, которые должны быть выполнены при активации этого события.

Что я делаю ни так?
За ранее спасибо!
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39302512
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abisma2008, зайдите в редактор ВБА=>Tools=>References и добавьте библиотеку Microsoft Office XX.X Object Library
...
Рейтинг: 0 / 0
Как мне сделать 2 контекстное меню?
    #39302544
Abisma2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_worldAbisma2008, зайдите в редактор ВБА=>Tools=>References и добавьте библиотеку Microsoft Office XX.X Object Library
Спасибо большое!
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как мне сделать 2 контекстное меню?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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