1个回答
展开全部
我给你写了一个简单的示例。
只是要注意一下:
① 控件只能是直接放窗口内的。
因为如果放在其它容器内,它的“位置”坐标是相对于其容器的。这样还得去找它的“容器”相
对于窗口的坐标,如果多套几层,就会相当的复杂。并且有一些容器是无法“向上追溯”的。
② 控件用的坐标只能是Twip(默认单位就是Twip)。
因为有些控件可以设置或改变度量单位,有的又不支持。要处理起来也比较麻烦。因此我
的这个示例中就没有处理这方面的了。
贴张效果图。图中画圈的地方,是我的一个小程序的窗口。在Timer事件中不停的读取鼠
标的屏幕坐标(象素为单位),上方是16进制表示,下方是10进制表示。
左边是X坐标,右边是Y坐标。这个程序也打包在附件中了。
在各控件的MouseMove( )事件中,把“本地坐标”显示到窗口标题上。
程序中的转换结果Print到Picture1上的。
可以跟我那个小程序的结果进行比较,可以看到是一致的。
要注意的是,TextBox和PictureBox,在有边框时,它的本地坐标是除开边框后的。
因此跟实际值有差异(差值固定:3D为2,平面为1。改为无边框,就相同了)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询