How To - 如何取得滑鼠在物件上的位置

最近有些應用要與圖片進行互動,也因此延伸出如何取得滑鼠在物件上面的位置這個問題。
想過很多方法,最後發現還是使用 Event 最為方便,在此一樣一步步帶大家來執行。



圖片程式版本:LabVIEW 2013
範例程式版本:LabVIEW 8.6


首先在畫面上放置一個物件,例如 2D Picture ,可以在前置面板 Controls >> Graph >> Controls >> 2D Picture 中找到。

接下來在 block diagram 完成以下程式:




同時,在 Event 上新增事件:2D Picture : Mouse Move
這個時候在 Event 的邊框上會看到新增的事件頁面以及左邊相對應的 Data Node



在這個應用上我們需要的是 Coords 這個輸出,他會輸出以「面板原點」為0,0的相對應「滑鼠位置」,往右增加X軸值,往下增加Y軸值



如此一來就可以取得滑鼠在物件上面的位置,不過是相對於面板原點就是。特別注意的是,這個方法是使用 Event 來達成,故取得座標後相對應的觸發請勿在 Event 中撰寫,避免事件卡在 Event 中,造成前置面板上的物件無法操作的窘境喔

範例程式在這裡下載。