マウスの下に対応する位置にあるカーソル計算上での位置を取得することが出来ます。
C#では、マウスのスクリーン座標、あるいはアプリケーション内でのマウスの相対座標などは、 汎用的な手段でいとも簡単に取得できますので、あくまでも、秀丸独自となる「linenoとcolumn」に利用価値があると言えるでしょう。
マクロ中でもマクロ中以外でも、常時取得することが出来ます。
Hm.Edit.MousePos
using System; using HmNetCOM; ... var pos = Hm.Edit.MousePos; int lineno = pos.LineNo; int column = pos.Column; int x = pos.X; // マウスのスクリーン座標x int y = pos.Y; // マウスのスクリーン座標y
デコンストラクトが実装されているため、多値で受け取ることが可能です。
using System; using System.Windows.Forms; using Hidemaru; ... (var lineno, var column, var x, var y) = Hm.Edit.MousePos;