HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0425
なはまはMesboxのカーソル位置の取得2解決


なはまは

リンク

2018/4/25(Wed) 17:38:45|NO.84137

今、HSPのmesbox命令を使ってテキストエディタを作っています。hspスクリプトエディタやメモ帳のようにカーソルがある行(ライン)と列を取得したいのですが全くやり方が分からないので教えてください。



この記事に返信する


いののて

リンク

2018/4/25(Wed) 18:51:18|NO.84140

ウィンドウメッセージをmesboxに送って取得します。

#define EM_LINEINDEX 0x00BB
#define EM_LINEFROMCHAR 0x00C9 #define EM_GETSEL 0x00B0 sdim buf buf="HSP\nApple\nGrape\nOrange" mesbox buf, 300, 200, 3 hEdit = objinfo_hwnd(stat) button gosub "行&桁取得!", *get stop *get //行番号取得(0から始まる) sendmsg hEdit, EM_LINEFROMCHAR, -1, 0 nLineIndex = stat //カーソル位置の行の先頭のインデックスを取得(1行1列目からカーソルのある行の先頭までの文字数-1) sendmsg hEdit, EM_LINEINDEX, -1, 0 nLineHIndex = stat //カーソル位置のインデックスを取得(1行1列目からカーソルの位置までの文字数-1) nCaretIndex = 0 sendmsg hEdit, EM_GETSEL, varptr(nCaretIndex), 0 dialog strf("行: %d / 列: %d", nLineIndex+1, (nCaretIndex-nLineHIndex+1)) return



なはまは

リンク

2018/4/25(Wed) 21:18:52|NO.84146

ありがとうございます。いろいろがんばってみます。



ONION software Copyright 1997-2023(c) All rights reserved.