VB 中,如何对某一个控件屏蔽右键?

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:40:23
麻烦用text1给我举个例子,但是我想要一个通用点的方法,对任何控件都管用,而不是只能在text1上管用,换成command1就不管用了。。

如何使Mouse的右键无效(Mouse Hook)

让Mouse的右键无效,其实也就是拦截WM_RBUTTONDOWN/WM_RBUTTONUP,但是,如果只针
对某个Window/有hWnd的控制项,那便是使用SubClass来做,如果针对的是整个Process
那麽,用Mouse Hook比较好,然而这只针对单一个Process,而如何让所有的Process都
如此,那得使用Remote的Mouse Hook,但这是要放在.Dll之中,而单纯用VB来做我没有
试出来。

'以下在Form
Private Sub Form_Load()
Call EnableHook
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print X; Y
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print X; Y
End Sub

Private Sub Form_Unload(Cancel As Integer)
Call FreeHook
End Sub

'以下在.Bas
Public Const WH_MOUSE = 7
Public Const WM_RBUTTONDOWN = &H204
Public Const HC_ACTION = 0
Public Const WM_RBUTTONUP = &H205

Declare Function SetWindowsHookEx Lib "user32" Alias _
"SetWindowsHookExA&quo