入門編 ~秀丸でカーソルの位置~

概要

hm.NETでは秀丸で編集領域のカーソルの「論理的位置」を取得することが出来ます。 (特に秀丸マクロのcolumnとは微妙に違い、原則C#のChar型1文字が1カウントとなります) 要するにカーソルが「何行目の何文字目」に位置するかが返ってきます。

秀丸で編集領域のカーソル位置を取得することが出来ます。

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

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

    MyTestForm.cs
    using System;
    using System.Windows.Forms;
    using Hidemaru;
    
    namespace HmTest
    {
        partial class HmTestForm
        {
            protected void MethodCreate()
            {
                System.Diagnostics.Trace.WriteLine("フォーム生成時");
    
            }
            protected void MethodTick()
            {
                // 読取は基本的にはいつでも可能
                var pos = Hm.Edit.CursorPos;
    
                System.Diagnostics.Trace.WriteLine($"lineno:{ pos.LineNo}, column:{pos.Column}");
                System.Diagnostics.Trace.WriteLine("チック時");
            }
            protected void MethodDestroy()
            {
                System.Diagnostics.Trace.WriteLine("フォームクローズ時");
            }
        }
    
    }
    
    
    
  • 秀丸マクロ側のソース

    前章の「HmNETTest.mac」と同一です。
    一度マクロを実行し、「デバッグモニター」にどのように順次表示されるか確認しましょう。