在前面板窗格坐标系上获取鼠标光标位置

更新 Jan 15, 2019

适用于

Software

  • LabVIEW Full

其他

主要软件: LabVIEW开发系统2013完整版

问题详述

在LabVIEW中,通过使用 Initialize Mouse 和 Acquire Input Data 函数( 输出水平垂直的坐标轴信息)可以读取鼠标光标在PC屏幕坐标系上的位置。其原点位于PC屏幕的左上角。如何使鼠标光标所在的窗格坐标系原点落在窗格上的灰点上(参考点)?

解决方案

有三个坐标系。
1.局部窗格坐标系:原点是前面板内窗格上的灰点。对于大多数前面板对象,使用其属性节点读取的位置属性是相对于此坐标系的。有关更多详细信息,请参见LabVIEW 2018帮助:位置属性
2.全局前面板坐标系:原点是窗格的左上角。
3.全局屏幕坐标系:原点是PC屏幕的左上角。使用“ Initialize Mouse和“ Acquire Input Data函数读取到的鼠标光标位置就与此坐标系相关。

为了将鼠标光标位置与大多数前面板对象的位置相关联,您需要获取相对于窗格坐标系的鼠标光标位置。以下步骤将说明如何以编程方式实现。

1.放置VI Server Reference编程»应用程序控制»VI服务器参考 ),然后左键单击 此VI»窗格»窗格 。右键单击 窗格»创建»窗格类属性»原点 并将其连接到此VI 。读取从属性节点输出的簇中包含的水平垂直坐标。这就是窗格左上角相对于窗格坐标系的位置。


2.放置另一个VI Server Reference ,右键单击此VI»创建»VI类属性»前面板窗口»面板边界 ,然后连接它们。读取属性节点输出的簇中包含的左侧顶部坐标。这是窗格左上角相对于屏幕坐标系的位置。


3.水平坐标减去左侧坐标,垂直坐标减去顶部坐标,这就是窗格相对于屏幕坐标系的原点的位置。

4.连接Initialize Mouse连接»输入设备控制»初始化鼠标 )和Acquire Input Data连接»输入设备控制»获取输入数据 )。读取通过 Acquire Input Data 函数输出中包含的“ 水平”和“ 垂直”坐标信息的簇。

5.用上一步的值加上鼠标坐标,得到的就是鼠标光标相对于窗格坐标系的位置。

我们在最后一步中添加坐标值,如下图所示,Q4中的坐标值为正(+ x,+ y),而其他扇区将具有负分量:Q1(+ x,-y); Q2(-x,-y); Q3(-x,+ y)。

本文是否有帮助?

无帮助