마우스 커서 위치를 구획 좌표계로 가져 오기

업데이트 됨 Jan 9, 2019

해당 제품

Software

  • LabVIEW Full

다른

주요한 소프트웨어 : LabVIEW Full Development System 2013

문의사항

LabVIEW에서, 마우스 초기화 함수 및 입력 데이터 수집 함수로 읽은 마우스 커서 위치 ( 축 정보 출력의 수평수직 좌표)는 PC 화면 왼쪽 상단 구석을 원점으로 하는 PC 화면 좌표계상의 위치입니다. 프런트패널에서 회색 점 (참조 점)을 기준으로 하는 구획 좌표계로 마우스 커서의 위치를 어떻게 가져올 수 있습니까?

해결책

좌표계는 총 세 가지 종류가 있습니다.
 
  • 로컬 구획 좌표계 : 원점은 프런트패널 안의 구획에서 회색 점입니다. 대부분의 프런트패널 객체의 경우 프로퍼티 노드로 읽은 위치 속성은 이 좌표계를 기준으로 합니다. 자세한 내용은 LabVIEW 2018 Help : Position Property 를 참조하십시오.
     
  • 글로벌 프런트패널 좌표계 : 원점은 창의 왼쪽 상단 모서리입니다.
     
  • 전체 화면 좌표계 : 원점은 PC 화면의 왼쪽 상단 모서리입니다. 마우스 초기화 함수 및 입력 데이터 수집 함수로 읽은 마우스 커서 위치는 이 좌표계를 기준으로합니다.
     

마우스 커서 위치를 대부분의 프런트패널 객체의 위치와 연관시키려면 구획 좌표계를 기준으로 한 마우스 커서 위치가 필요합니다. 다음 단계에서는 프로그래밍 방식으로 계산하는 방법을 설명합니다.

1. VI 서버 참조(프로그래밍»어플리케이션 컨트롤»VI 서버 참조)를 놓고 이 VI(This VI)»구획(Pane)»구획(Pane)을 마우스 왼쪽 버튼으로 클릭하십시오. 구획을 우클릭한 후 구획(Pane)»생성»구획 클래스의 프로퍼티»원점을 생성한 후에 이 VI(This VI)에 연결합니다. 프로퍼티 노드에서 출력되는 클러스터에 포함된 수평(Horizontal) 및 수직(Vertical) 좌표를 읽습니다. 이것은 구획 좌표계를 기준으로 창의 왼쪽 위 모서리 위치입니다.


2. 다른 VI 서버 참조 를 생성하고 우클릭하여  VI(This VI)»생성»VI 클래스의 프로퍼티»프런트패널 윈도우»패널 경계의 프로퍼티를 생성한 후 와이어링 합니다. 프로퍼티 노드에서 출력되는 클러스터에 포함된 왼쪽(Left)위쪽(Top) 좌표를 읽습니다. 이 좌표는 화면 좌표계를 기준으로 한 창의 왼쪽 위 모서리 위치입니다.


3. 수평(Horizontal) 값에서 왼쪽(Left) 값을 빼고, 수직(Vertical) 값에서 위쪽(Top) 값을 빼십시오. 이 결과는 화면 좌표계를 기준으로 한 구획의 원점 위치입니다.

4. 마우스 초기화 함수(연결»입력 디바이스 컨트롤»마우스 초기화)와 입력 데이터 수집 함수(연결»입력 디바이스 컨트롤»입력 데이터 수집)를 와이어로 연결하십시오. 입력 데이터 수집 함수의 축 정보 클러스터 출력에 포함 된 수평(Horizontal) 및 수직(Vertical) 좌표를 읽습니다.

5. 마우스의 좌표에 이전 단계의 값을 추가하시면 이제 구획 좌표계를 기준으로 한 마우스 커서의 위치를 얻을 수 있습니다.

아래 이미지에서 Q4의 좌표 값은 양수 (+ x, + y)이고 나머지 구역은 음수 값을 갖기 때문에(Q1 (+ x, -y); Q2 (-x, -y); Q3 (-x, + y)) 마지막 단계에서 이전 단계의 값과 더하기를 합니다.

이 글이 도움이 되셨습니까?

도움 안됨