vb中怎么获取鼠标的坐标

vb中怎么获取鼠标的坐标,第1张

其实很简单,逐行手敲,亲测可用。

Private Type POINTAPI

X As Long

Y As Long

End Type

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Sub Command1_Click()

Dim Point As POINTAPI

GetCursorPos Point

Print "鼠标坐标为:" & PointX

Print "鼠标纵坐标为:" & PointY '打印鼠标位置坐标

End Sub

(1)、获取鼠标的坐标:

                    鼠标相对于浏览器可视区域左上角的偏移量: clientX(x轴)    clientY(y轴)

                    鼠标相对于整个页面左上角的偏移量: pageX (x轴)  pageY (y轴)

(2)、获取元素的宽高:

                    获取元素的宽高只能读不能修改: offsetWidth (宽)   offsetHeight (高)

                    获取窗口的可视区域的宽高:  innerWidth  (宽)   innerHeight  (高)

(3)、获取元素的偏移量(可读不可改):

                     offsetLeft  (左)offsetTop  (上):在没有定位的情况下获取到的是 html 页面左上角的偏移量:

                                                                                在有定位的情况下获取的是根据定位元素左上角的偏移量:

                                                                                

CPoint

pt;

::GetCursorPos(&pt);

这样就可以得到当前鼠标的位置了,(ptx,pty)。

要获得鼠标点击时的坐标不用自己获得的,MFC的消息映射函数的参数中有鼠标位置的这个参数的。

首先你要先搞清你所说的坐标变化不大是相对窗口,屏幕,还是文档的,他们的坐标系是不同的。不知你想要找的是哪一个。

1相对窗口,当然是以浏览器窗口为主了,即浏览器中可见部分(即包含文档部分)的左上角为坐标原点。这是用clientX和clientY获取的。

2相对屏幕,当然是以你的显示器为主了,显示器的左上角为原点,用screenX和screenY可以获取到

3相对文档的,即以文档BODY所显示的左上角为原点,例如当一个DIV的position="absolute"时设left="100px"

top="100px"那么无论你如何变换浏览器,虽然它显示的位置在变但他在文档中的位置是不变的。一般用documentbodyscrollLeft+eventclientX和documentbodyscrollTop+eventclientY来获取

而offsetX解释说是事件产生的位置和鼠标位置的偏移量,没太理解,我也是初学。

而你说改变分辨率坐标改变,这是必然的。因为在不同的分辨率下网页的显示样式不同,这不是坐标改变的主要原因,主要还是因为度量的改变,如:无论屏幕的分辨率怎么改屏幕大小是不变的,但它代表的显示逻辑长度改变了,如1024×768和800×600,同样宽度的屏幕被当成1024个长度单位来用和当成800个长度单位来用当然会不同,当你点击屏幕的中央时前者返回的是1024/2而后者返回的是800/2所以坐标值会改变。就像你用米尺量是1米,用寸尺量是3寸,一个是1,一个是3一样的道理。

以上就是关于vb中怎么获取鼠标的坐标全部的内容,包括:vb中怎么获取鼠标的坐标、获取鼠标的坐标、元素的宽高、元素的偏移量、网页里怎么获得鼠标点击时的坐标和d起时的坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9519726.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存