hm.NETでは秀丸で編集領域のカーソルの「論理的位置」を取得することが出来ます。 (特に秀丸マクロのcolumnとは微妙に違い、原則C#のChar型1文字が1カウントとなります) 要するにカーソルが「何行目の何文字目」に位置するかが返ってきます。
マクロ中でもマクロ中以外でも、常時取得することが出来ます。
Hm.Edit.CursorPos
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」と同一です。 一度マクロを実行し、「デバッグモニター」にどのように順次表示されるか確認しましょう。