powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите пожайлуста
16 сообщений из 16, страница 1 из 1
Подскажите пожайлуста
    #32237678
Dimasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сделать чтобы собственное контексное меню появлялось только над Treeview
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237707
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
keydown
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237716
Dimasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А конкретнее мона
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237720
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читай Help...
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237722
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub TV_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As stdole.OLE_XPOS_PIXELS, ByVal y As stdole.OLE_YPOS_PIXELS)
If Button = acLeftButton Then 
    On Error Resume Next
    lngFrom = TV.HitTest(x, y).Index
    On Error GoTo  0 
Else 
    If strPopupMenu =  "" Then Exit Sub
    If TV.HitTest(x, y) Is Nothing Then Exit Sub
    If TV.HitTest(x, y).Parent Is Nothing Then Exit Sub
    TV.SelectedItem = TV.HitTest(x, y)
    Dim myBar As CommandBar
    Set myBar = CommandBars(" MyMenu")
    myBar.ShowPopup
End If
End Sub


Примерно вот так.....
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237728
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Treeview связан с источником?
Если нет, то как вариант поместить на подформу (того же размера), а в подформе указать свое контекстное меню.
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237732
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ну да... MOuseDown :)

2Hummer
какой KeyCode у Mouse1???
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237733
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приведённом коде контекстное меню будет появляться только при клике на ноду, а не на всю область TreeView, но это кому как нравиться и зависит от содержания меню.
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237742
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм....
В справке нету KeyCode для мышки
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237755
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vsevolod V писал:
Хм....
В справке нету KeyCode для мышки


А зачем он тебе? Константы есть: acLeftButton
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237758
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я уж и сам передумал :)
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237760
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub ax_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
    Dim a As Integer
    Dim myBar As CommandBar
    Set myBar = CommandBars( "MyMenu" )
    strPopupMenu = ""
    a = (Button And acLeftButton) >  0 
    If a Then myBar.ShowPopup

End Sub


так лучше...
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237764
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Млин...
strPopupMenu = ""
не нужно
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237768
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Окончательный вариант На правый клик:
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub ax_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
    Dim a As Integer
    Dim myBar As CommandBar
    Set myBar = CommandBars( "print" )
    a = (Button And acRightButton) >  0 
    If a Then myBar.ShowPopup
End Sub
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237772
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Vsevolod V
Конечно не нужно, просто в моём TreeView на левой кнопке Drag'n'Drop еще есть, вот из-за этого и обрабатывается по другому. А в переменную (strPopupMenu) при работе с классом передаётся имя контекстного меню - поэтому если оно не передано то выход.
И я уже писал, что меню показывается только при клике на ноду, так что не уверен, что переработанный тобой код лучше:)
...
Рейтинг: 0 / 0
Подскажите пожайлуста
    #32237780
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше, хуже...
Это смотря с какой позиции расценивать. Просто мой код на 100% отвечает вопросу :))
И лучше он только исходя из этого факта...
А в общем они (коды) не сравнимы по хорошести, т.к. отвечают разным задачам
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите пожайлуста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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