|
|
|
Пара мыслей про хитрую мышь...
|
|||
|---|---|---|---|
|
#18+
Первый раз пытаюсь не только спросить, но и что-то сказать! Если верно, может, кому-то пригодится... Когда мы работали с MouseWheel.dll , программа иногда, но падала. Попыталась сделать что-то похоже, но без классов и без dll Если на кручение мышки все-равно делаешь запрет, нет смысла генерировать событие в классе, да и вообще делать класс.. Сделала так В отдельном модуле написала: '--------------------------------------------------- Option Compare Database Option Explicit Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ (ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _ (ByVal lpPrevWndFunc As Long, _ ByVal hwnd As Long, _ ByVal msg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Public Const GWL_WNDPROC = -4 Public Const WM_MouseWheel = &H20A Public lpPrevWndProc As Long Public Function WindowProc(ByVal hwnd As Long, _ ByVal uMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Select Case uMsg Case WM_MouseWheel Case Else WindowProc = CallWindowProc(lpPrevWndProc, hwnd, uMsg, wParam, lParam) End Select End Function Public Sub SubClassHookForm(frmIn As Access.Form) lpPrevWndProc = SetWindowLong(frmIn.Form.hwnd, GWL_WNDPROC, _ AddressOf WindowProc) End Sub Public Sub SubClassUnHookForm(frmIn As Access.Form) Call SetWindowLong(frmIn.Form.hwnd, GWL_WNDPROC, lpPrevWndProc) End Sub Теперь в главной форме и в каждой из двух подформ на form_load вызвала SubClassHookForm(Me) , а на form_close вызвала SubClassUnHookForm(Me) Вроде-бы колесико не двигалась ни на форме, ни в подформах... Не знаю, не опасно ли это для программы?! После того, как это напишешь, надо перегрузить акцесс и снова зайти в программу, но не в дизайн... !!! И проверить. Пытаюсь то же самое сделать в Акцесс95, но там нет AddressOf - замучалась уже - смотри мой предыдущий топик... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2004, 18:04:56 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1591&tid=1673068]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
25ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 353ms |

| 0 / 0 |
