“lMsg = X / Screen.TwipsPerPixelX”这句是什么意思?
原文在这,查找“lMsg = X / Screen.TwipsPerPixelX '屏幕横向(X)分辨率
”的地方
http://apps.hi.baidu.com/share/detail/21642255
【问题】不明白这个lMsg得到分辨率什么的跟按鼠标右键有啥关系?怎么能判断的?
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim MenuOpen As Menu
Set MenuOpen = Form2.Menu
Dim lMsg As Single
lMsg = X / Screen.TwipsPerPixelX '屏幕横向(X)分辨率
If lMsg = WM_RBUTTONUP Then PopupMenu MenuOpen,0 '右健单击弹出菜单(菜单要自己去编辑)
If lMsg = WM_LBUTTONUP Then
Call Shell_NotifyIcon(NIM_DELETE, nfIconData) '左键单击卸载托盘图标
Me.Show '同时显示窗体
End if
End Sub
[解决办法]
lMsg的结果是像素,X的值是鼠标的x轴值,单位是缇,
lMsg = X / Screen.TwipsPerPixelX 的意思是,把鼠标的以缇为单位的x值,除以 screen.twipsperpixelx(x轴上,每像素有多少缇),得到的就是像素为单位的结果
[解决办法]