- 締切済み
C++のGetCursorPosをmatlabで書き換えたいのですが・・・
C++のGetCursorPosという機能をmatlabに書き換えたいのですが、どなたか表記法などご存じの方いらっしゃいましたら教えてください。お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- sgwjn
- ベストアンサー率70% (47/67)
回答No.2
#1です。 書き忘れていましたが、先ほどの処理はFigureのWindowButtonMotionFcnなど、各種オブジェクトのコールバック関数で実行してください。
- sgwjn
- ベストアンサー率70% (47/67)
回答No.1
MATLABでは、直接ディスプレイ上のマウス座標を取得することはできなかったと思います。 ただ、Figure上のマウス座標は取得できますので、Figure上であれば以下の方法でディスプレイ上の座標を取得できると思います。 (1)pos = get(gcf, 'Position'); % ディスプレイ上のFigure座標 (2)point = get(gcf, 'CurrentPoint'); % Figure上のマウス座標 (3)x = pos(1) + point(1); (4)y = pos(2) + point(2); ※1 (1)の前に、FigureのUnitは Pixels に設定しておく必要があります。 ※2 (3)、(4)は、そのまま足しただけだとウィンドウの枠の幅だけ座標がずれますので、適当に補正する必要があります。 また、MATLABはJavaのメソッド(標準、自作)を直接呼出すことができるので、それを使うと上手くいくのかもしれません。
お礼
ご回答ありがとうございます!! 参考にさせていただきますm(_ _)m