最終更新日 2021-08-17

カーソルの位置

概要

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

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

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

decltype(Hm.Edit)::ICursorPos Hm.Edit.getCursorPos()
  • C++側のソース

    dllmain.cpp
    #include "HmCppInvoke.h"
    
    using namespace Hidemaru;
    using namespace std;
    
    
    extern "C" __declspec(dllexport) THmNumber test() {
    	Hm.funcDllExport();
    
    	// カーソルの位置
    	auto ret = Hm.Edit.getCursorPos();
    	int lineno = ret.getLineNo();
    	int column = ret.getColumn();
    
    	// アウトプット枠へ
    	Hm.OutputPane.output(to_wstring(lineno) + L"," + to_wstring(column) + L"\r\n");
    
    	return 1;
    }