Obtenga la Posición del Ratón basado en las Coordenadas del Panel en Lugar de la Pantalla del Sistema



Software Primario:
Versión de Software Primario: N/A
Versión de Software Primario Corregido: N/A
Software Secundario: N/A

Problema:
¿Cómo puedo obtener las coordenadas del cursor basado en el punto gris del Panel Fontal?

Solución:
En LabVIEW, la información sobre la posición del cursor que se obtiene mediante las funciones Initialize Mouse y Acquire Input Data corresponde a las coordenadas de ubicación en la pantalla del sistema, con origen en la esquina superior izquierda.
Existen tres sistemas de coordenadas que podemos utilizar:

Con el fin de relacionar la posición del cursor a la posición de la mayoría de los objetos del panel frontal, se necesita de su posición con respecto al sistema de coordenadas del panel. Los siguientes pasos explican cómo realizar el cálculo programáticamente.
  1. Coloque una referencia a VI Server en el diagrama de bloques (Programming»Application Control»VI Server Reference), dele un clic izquierdo y seleccione Pane. Clic derecho en la referencia y seleccione Pane»Create»Property for Pane Class»Origin, cablee el nodo de propiedad a la referencia. Lea las coordenadas Horizontal y Vertical. Este sistema de coordenadas es en base a la esquina superior izquierda del panel.
  2. Imagen 1. Captura de coordenadas relativas al origen


  3. Coloque una referencia a VI Server en el diagrama de bloques, dele un clic izquierdo y seleccione This VI»Create»Property for VI Class»Front Panel Window»Panel Bounds y conecte el nodo a la referencia. Lea las coordenadas Left y Top. Esta es la posición con respecto a la esquina superior izquierda de la pantalla del sistema.
  4.  

    Imagen 2. Captura de coordenadas relativas a la pantalla

  5. Reste Left de Horizontal y Top de Vertical. Esta es la posición de origen del panel con respecto a la pantalla del sistema.

    Cablee Initialize Mouse (Connectivity»Input Device Control»Initialize Mouse) y Acquire Input Data (Connectivity»Input Device Control»Acquire Input Data). Lea las coordenadas Horizontal y Vertical del clúster de salida de la función Acquire Input Data.

    Sume los valores que se obtienen de las funciones anteriormente mencionadas. El resultado es la posición del cursor con respecto al sistema de coordenadas del origen del panel.
  6. Imagen 3. Captura de coordenadas relativo al origen del panel

    Los valores del último paso se suman dado que los valores de coordenadas en Q4 (ver imagen 4) son positivos (+ x, + y), mientras que los otros sectores tendrán componentes negativos: Q1 (+ x,-y); Q2 (-x,-y); Q3 (-x, + y).

    Imagen 4. Sectores de coordenadas según el origen del Panel Frontal



Ligas Relacionadas:
LabVIEW 2013 Help: Initialize Mouse VI
LabVIEW 2013 Help: Acquire Input Data VI
Example Program: Setting Cursor Position Programmatically With LabVIEW
NI Community: Get Mouse Position Relative to Front Panel Origin/Gray Dot

Archivos Adjuntos:





Día del Reporte: 07/03/2014
Última Actualización: 07/08/2014
Identificación del Documento: 570LA91C