可不可以在Label1_MouseDown中判断出鼠标左键是否按下或抬起。

xzp1030 2003-12-15 09:21:20
可不可以在Label1_MouseDown中判断出鼠标左键是否按下或抬起。
...全文
33 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhjjhjhj 2003-12-15
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim k As String
Select Case Button
Case 1
k = "左键按下了"
Case 2
k = "右键按下了"
Case Else
k = "没键按下"
End Select
k = k & Chr(10) & X & Chr(10) & Y
Label1.Caption = k

End Sub
回复
xzp1030 2003-12-15
to:SoHo_Andy(冰) ( )
能给我讲解一下吗,为什么不行啊?
回复
xzp1030 2003-12-15
我试了这种方法为什么不行啊,不明白,请高手指点。
Private Sub lblcaption_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim msg As Long
msg = X / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
mouseState = True
Case WM_LBUTTONUP
mouseState = False
End Select
End Sub
回复
xzp1030 2003-12-15
我要在Label1_MouseMove 中直接判断行不行,有没有这种方法?不是在其它的地方。
我想解决的问题是:下面这个过程在不停的执行着,当鼠村移到label控件上,当鼠标按下赋一个变量为真,抬起是为假。

Private Sub tmrChkStatus_Timer()
Dim lonCStat As Long
Dim lonCurrhWnd As Long
tmrChkStatus.Enabled = False
lonCStat = GetCursorPos(mpoiCursorPos)
lonCurrhWnd = WindowFromPoint(mpoiCursorPos.X, mpoiCursorPos.Y)
If mbooButtonLighted = False Then
If lonCurrhWnd = UserControl.hWnd Then
mbooButtonLighted = True
If mmodButtonMode = [Text Only Mode] Then
UserControl.BackColor = molcSelColor
ElseIf mmodButtonMode = [Image Mode] Then
Set UserControl.Picture = mpicSelPicture
Else
ShowLine True
If mouseState Then '***********当鼠标在label上按下时***********
Call OnLable(0)
Else
Call OnLable(1) '*****当鼠标在label上抬起时,*****
End If
DoEvents
End If
End If
RaiseEvent StatusChanged(1)
Else
If lonCurrhWnd <> UserControl.hWnd Then
mbooButtonLighted = False
If mmodButtonMode = [Text Only Mode] Then
UserControl.BackColor = molcBackColor
ElseIf mmodButtonMode = [Image Mode] Then
UserControl.Picture = mpicPicture
Else
ShowLine False
DoEvents
End If
End If
RaiseEvent StatusChanged(0)
End If
tmrChkStatus.Enabled = True

End Sub

回复
iandylove 2003-12-15
if button =2 then 左键按下 if button <> 2 then 左键没有按下
回复
SoHo_Andy 2003-12-15
Label1_MouseDown 当鼠标按下操作时保存一个变量值为1
Label1_MouseUp 当鼠标抬起操作时保存这个变量值为0

Label1_MouseMove中判断变量值就知道左键是否按下
回复
笨狗先飞 2003-12-15
那就看button的值是多少了好象1是左2是右
回复
xzp1030 2003-12-15
注意:

我写错了,是Label1_MouseMove中判断出鼠标左键是否按下或抬起。
回复
SoHo_Andy 2003-12-15
Label1_MouseDown 是鼠标按下操作

Label1_MouseUp 是鼠标抬起操作
回复
笨狗先飞 2003-12-15
不知道是不是写程序都这么绕,
这个问题好象可以绕过去的,没必要这么做,要不然的话怕又是要弄个API的出来了
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告