マウスの下に対応する位置のカーソル計算上の位置

概要

マウスの下に対応する位置にあるカーソル計算上での位置を取得することが出来ます。

C#では、マウスのスクリーン座標、あるいはアプリケーション内でのマウスの相対座標などは、
汎用的な手段でいとも簡単に取得できますので、あくまでも、秀丸独自となる「linenoとcolumn」に利用価値があると言えるでしょう。

秀丸で編集領域のマウスの下に対応する位置にあるカーソル計算上での位置を取得することが出来ます。

マクロ中でもマクロ中以外でも、常時取得することが出来ます。

Hm.Edit.MousePos
  • C#側のソース

    MyTest.cs
    using System;
    using HmNetPInvoke;
    
    ...
        var pos = Hm.Edit.MousePos;
        int lineno = pos.LineNo;
        int column = pos.Column;
        int x = pos.X; // マウスのスクリーン座標x
        int y = pos.Y; // マウスのスクリーン座標y
    
  • 多値で受け取ることも可能

    デコンストラクトが実装されているため、多値で受け取ることが可能です。

    MyTest.cs
        using System;
        using System.Windows.Forms;
        using Hidemaru;
        
        ...
            (var lineno, var column, var x, var y) = Hm.Edit.MousePos;