Подскажите пожалуйста, как запретить TextBox реагировать на события мыши.
RichTextBox не подходит.
Заранее спасибо
tyomitch писал(а):Может быть, установить свойство Enabled в False достаточно?
if button =2 then button= Empty
shest писал(а):Проверил ссылку на отключение меню-выкидывает ошибку выполнения.
Public Const GWL_WNDPROC As Long = -4
Public Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32.dll" 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 OldWindowProc As Long
shest писал(а):MouseDown , MouseUp, Click пробовал блокировать, но это не помогает
shest писал(а):В общем пока не нашёл решения кроме возни с таймером. ИМХО в VB это сделать нельзя, значит API -функция нужна.
shest писал(а):А кто-нибудь знает функцию не только курсор погасить, но отключить вообще мышь на время выполнения программы? Или просто отключить реакцию textBox на мышиные события?
shest писал(а):Разместил функцию с объявлениями в модуле, разместил процедуры- не идёт. Может что опять не так?
shest писал(а):Ну получилось вроде.
Теперь бы найти функцию, которая полностью мышь отключит
Option Explicit
Public Const GWL_WNDPROC = -4&
Public Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32.dll" 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 OldWindowProc As Long
Private Const WM_MOUSEFIRST = &H200&
Private Const WM_MOUSELAST = &H209&
Public Function NoPopupWindowProc(ByVal hWnd As Long, ByVal _
Msg As Long, ByVal wParam As Long, ByVal lParam As _
Long) As Long
Select Case Msg
Case WM_MOUSEFIRST To WM_MOUSELAST:
NoPopupWindowProc = 0
Case Else:
NoPopupWindowProc = CallWindowProc( _
OldWindowProc, hWnd, Msg, wParam, _
lParam)
End Select
End Function
Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot] и гости: 13