2012-08-08 5 views
1

버튼 위로 마우스를 움직일 때나 마우스가 버튼을 떠날 때 마우스 오버 이벤트를 캡처 할 수 있습니까? 이것은 WindowButtonMotionFcn을 사용하여 수치로하기 쉽습니다. 그러나 버튼이나 다른 유형의 객체에 대해서는 잘 모릅니다.버튼 위로 마우스 움직임을 캡쳐하는 방법

답변

1

당신이 영리한 사람이라면 UIControls에 콜백을 직접 등록 할 수는 없지만 실제로는 필요하지 않습니다. 약간의 추가 작업이 있지만 그림 내의 버튼 위치를 알고 있다면 마우스 커서가 버튼 위에 있는지 확인하고 그에 따라 UI가 응답하는지 확인할 수 있습니다.

수치를 재조정 할 때 Normalized 단위로 버튼을 만들면 위치를 다시 계산해야한다는 점을 명심해야합니다. 그림의 resizeFcn 속성을 사용하여이를 수행 할 수 있습니다. 이것은 당신이 달성하려고하는 기능을 제공하기에 충분해야한다 당신이 찾고있는 정확한 솔루션을 제공하지 않지만

u = get(button, 'Units'); 
set(button,'Units'); 
buttonPosition = get(button,'Position'); 
set(button, 'Units', u); 

: 다음과 같이 무언가를 통화 등을 등록합니다.

1

WindowButtonMotionFcn을 사용하여 원하는대로 콜백 기능을 추가 할 수 있습니다.

set(gcf,'WindowButtonMotionFcn ',your_callback); 

google을 사용하면 더 많은 정보를 찾을 수 있으며 그림과 함께 할 수있는 몇 가지 사항을 보여주는 링크가 표시됩니다. 버튼 위치와 커서 위치를 안다면, 항상 그런 식으로 테스트를 작성하십시오.

http://www.mathworks.com/help/techdoc/ref/figure_props.html

+0

WindowButtonMotionFcn하지 그 숫자의 버튼을 통해 그림 위에 마우스 이동을 처리하는 것입니다. 어쨌든 고마워. –

+0

Java 버튼을 사용하여 호출을 처리하는 이유는 무엇입니까? MatLab은 Java를 지원하므로 너무 어렵지 않다면 항상 사용할 수 있습니다. 그렇지 않다면 http://www.mathworks.com/matlabcentral/answers를 사용해보십시오. –

관련 문제