Страница: 1 |
Вопрос: Прокрутка колесика мыши | Добавлено: 16.11.07 20:12 |
Автор вопроса: ![]() |
Вопрос собственно вот в чем: Есть ли вообще в VB6 событие, реагирующее на прокрутку колесика? или это считается как нажатие клавиши? Если так, то какой? |
Ответы | Всего ответов: 6 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 454 |
Профиль | Цитата | #1 | Добавлено: 16.11.07 21:21 |
За это отвечает сообщение WM_MOUSEWHEEL.
Стандартые элементы в vb не генерируют этого события. Но всё можно перехватить. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 0 Ответов: 454 |
Профиль | Цитата | #2 | Добавлено: 16.11.07 22:06 |
Вот например usercontrol:
Option Explicit
Private Type MSG hwnd As Long message As Long wParam As Long lParam As Long time As Long pt As Long End Type Private Const WM_MOUSEWHEEL = &H20A Private Declare Function GetMessage Lib "user32" Alias "GetMessageA" (lpMsg As MSG, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long) As Long Private Declare Function TranslateMessage Lib "user32" (lpMsg As MSG) As Long Private Declare Function DispatchMessage Lib "user32" Alias " ![]() Private Declare Sub PostQuitMessage Lib "user32" (ByVal nExitCode As Long) Event MouseWheel(orien As Long) Private Function LWORD(param As Long) As Long LWORD = param And &HFFFF& End Function Private Function HWORD(param As Long) As Long HWORD = param \ &H10000 And &HFFFF& End Function Private Sub UserControl_Hide() If UserControl.Ambient.UserMode = True Then PostQuitMessage 0 End Sub Private Sub UserControl_Show() Dim pmsg As MSG Dim rotate As Long If UserControl.Ambient.UserMode = True Then While (GetMessage(pmsg, 0, 0, 0)) If pmsg.message = WM_MOUSEWHEEL Then If pmsg.wParam > 0 Then rotate = HWORD(pmsg.wParam) Else rotate = HWORD(pmsg.wParam) - 65536 End If 'Debug.Print rotate RaiseEvent MouseWheel(rotate) End If TranslateMessage pmsg ![]() Wend End If End Sub Private Sub UserControl_MouseWheel(orien As Long) ![]() End Sub |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 233628153 Вопросов: 13 Ответов: 29 |
Профиль | Цитата | #3 | Добавлено: 17.11.07 20:27 |
О, спасибо, вопрос закрыт |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() Вопросов: 15 Ответов: 194 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 05.01.09 11:42 |
Di |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() Вопросов: 15 Ответов: 194 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 05.01.09 11:42 |
ispatchMessage pmsg ?! Опять косяки со смайлами...
|
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 278109632 Вопросов: 42 Ответов: 3949 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 06.01.09 13:48 |
Бля, да юзайте вы теги форума! [sоurce], а не [cоde] ! |
Страница: 1 |
|