Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lMsg As Single
lMsg = X / Screen.TwipsPerPixelX ' ' ' ' '就是这个值我不明白,为什么鼠标的水平坐标值 / Screen.TwipsPerPixelX:每一像素中的缇数 就能判断是在托盘点了鼠标左键或是右键,,。麻烦,那位高人给我解答一下,万公感谢!!!!
Select Case lMsg
Case WM_LBUTTONUP
'单击左键,显示窗体
Form1.Show
Dim lMsg As Single
lMsg = X / Screen.TwipsPerPixelX ' ' ' ' '就是这个值我不明白,为什么鼠标的水平坐标值 / Screen.TwipsPerPixelX:每一像素中的缇数 就能判断是在托盘点了鼠标左键或是右键,,。麻烦,那位高人给我解答一下,万公感谢!!!!
Select Case lMsg
Case WM_LBUTTONUP
'单击左键,显示窗体
Form1.Show
我知道一个控件
SysTray.ocx
lMsg = X / Screen.TwipsPerPixelX 这是计算鼠标位置Select Case lMsg
Case WM_LBUTTONUP这个是什么呢?WM_LBUTTONUP 是一个Windows消息 ,lMsg 是鼠标位置,怎么能放在同一个CASE中?
lMsg = X / Screen.TwipsPerPixelX ' '
这段代码应该在拦截窗口函数中,而不是mouse事件里面
'以下在mousemove
Dim lMsg As Single
lMsg = x / Screen.TwipsPerPixelX
Select Case lMsg
Case WM_LBUTTONUP
'MsgBox "请用鼠标右键点击图标!", vbInformation, "天倚之音"
'单击左键,显示窗体
ShowWindow Me.hWnd, SW_RESTORE
'下面两句的目的是把窗口显示在窗口最顶层
'Me.Show
'Me.SetFocus
'' Case WM_RBUTTONUP
''PopupMenu frmmnu.mnulstsong '如果是在系统Tray图标上点右键,则弹出菜单mnulstsong
'' Case WM_MOUSEMOVE
'' Case WM_LBUTTONDOWN
'' Case WM_LBUTTONDBLCLK
'' Case WM_RBUTTONDOWN
'' Case WM_RBUTTONDBLCLK
'' Case Else
End Select
所以看不懂
lMsg = X / Screen.TwipsPerPixelX 这是计算鼠标位置
以上是标准子类化过程的声明,其MSG参数与图片框消息X之间的关系正好是乘以Screen.TwipsPerPixelX......至于如何得到这个关系的,不知道.....这种用法至今我还没有注意到谁详细解释过....麻烦知道的朋友解释一下吧.