Public 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 Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
你看還需屏蔽什麼消息,自已加上即可.
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_MOUSEMOVE = &H200
Public Const WM_RBUTTONDBLCLK = &H206
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const GWL_WNDPROC = (-4)
Public prevWndProc As Long
Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case Msg
Case WM_LBUTTONDOWN
Case WM_LBUTTONUP
Case WM_MOUSEMOVE
Case WM_RBUTTONDOWN
Case WM_RBUTTONUP
Case WM_RBUTTONDBLCLK
Case Else
WndProc = CallWindowProc(prevWndProc, hWnd, Msg, wParam, lParam)
End Select
End Function
*.FRM
//Text1是你的TextBox控件名
Private Sub Form_Load()
prevWndProc = GetWindowLong(Text1.hWnd, GWL_WNDPROC)
Call SetWindowLong(Text1.hWnd, GWL_WNDPROC, AddressOf WndProc)
End Sub
*.bas
Public 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 Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public prevWndProc As Long
自已用API View查一查WM_LBUTTONDOWN,GWL_WNDPROC等的十六進制值.要用Public聲明並放在模塊文件中.
Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case Msg
Case WM_LBUTTONDOWN
Case WM_LBUTTONUP
Case WM_MOUSEMOVE
Case Else
WndProc = CallWindowProc(prevWndProc, hWnd, Msg, wParam, lParam)
End Select
End Function
*.frm中
Private Sub Form_Load()
prevWndProc=GetWindowLong(txt.hwnd,GWL_WNDPROC)
SetWindowLong(txt.hwnd,GWL_WNDPROC,WndProc)
你自已的代碼....
End Sub
*.bas
Public 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 Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public prevWndProc As Long
自已用API View查一查WM_LBUTTONDOWN,GWL_WNDPROC等的十六進制值.要用Public聲明並放在模塊文件中.
Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Select Case Msg
Case WM_LBUTTONDOWN
Case WM_LBUTTONUP
Case WM_MOUSEMOVE
Case Else
WndProc = CallWindowProc(prevWndProc, hWnd, Msg, wParam, lParam)
End Select
End Function
*.frm中
Private Sub Form_Load()
prevWndProc=GetWindowLong(txt.hwnd,GWL_WNDPROC)
SetWindowLong(txt.hwnd,GWL_WNDPROC,WndProc)
你自已的代碼....
End Sub