发信人: yingzi007()
整理人: (2000-11-08 09:07:31), 站内信件
|
VB爱好者乐园,专业的VB网站,十多位网友共同维护,1000多个VB资料,分类详 细,每天更新
主力站点:http://www.d1vb.com
备用站点:http://vbvb.yes8.com
如何让Window不接受键盘输入及Mouse Click
来源:cww
就好比呼叫MsgBox之後,Form就不接受Mouse Click与KeyPress,但是Form仍可处 於
Activate的状态,即我们暂停了Mouse Click,KeyPress,等待我们要做事都做完 了,
再将之回复。不过Mouse仍可自由的移动,若要让Mouse也不能动,就使用Journa lPlayBack Hook
,而不是使用本方法。
EnableWindow()可达目的,第二个叁数传0进入则不能输入,传1则相反
Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long , ByVal fEnable As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long )
Private Sub Command1_Click()
Call EnableWindow(Me.hwnd, 0)
Me.Caption = "现在拒绝KeyPress, MouseClick"
Dim i As Long
For i = 1 To 100
Call Sleep(100)
DoEvents '虽有DoEvents,会发现,按Form的任何地方都没有反应
Next i
Me.Caption = "现在解除了"
Call EnableWindow(Me.hwnd, 1)
End Sub
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.110.173.200]
|
|