hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。 |
_HSED_GETCARETLINE,_HSED_GETCARETPOS,_HSED_GETCARETVPOS,_HSED_GETCARETTHROUGH,メッセージを使うことで任意のFootyのキャレットの位置を取得できます。
また、_HSED_SETCARETLINE,_HSED_SETCARETPOS,_HSED_SETCARETTHROUGH,メッセージを使うことで任意のFootyのキャレットの位置を変更できます。
hsedsdkのウィンドウメッセージはglobal指定されていないので、利用する際はマクロ名の後に必ず@hsedsdkと記述する必要があります。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#module//// 行のはじめを1としたキャレットの位置を取得#deffunc hsed_getcaretpos var ret, int nFootyIDhsed_captureif stat : return 1sendmsg hIF@hsedsdk, _HSED_GETCARETPOS@hsedsdk, nFootyIDif stat <= 0 : return 1 : else : ret = stat : return 0//// スクリプトのはじめを1としたキャレットの位置を取得#deffunc hsed_getcaretthrough var ret, int nFootyIDhsed_captureif stat : return 1sendmsg hIF@hsedsdk, _HSED_GETCARETTHROUGH@hsedsdk, nFootyIDif stat <= 0 : return 1 : else : ret = stat : return 0//// 行のはじめを0としたキャレットの位置(ルーラーに従う)を取得#deffunc hsed_getcaretvpos var ret, int nFootyIDhsed_captureif stat : return 1sendmsg hIF@hsedsdk, _HSED_GETCARETVPOS@hsedsdk, nFootyIDif stat < 0 : return 1 : else : ret = stat : return 0//// キャレットのある行の行番号を取得#deffunc hsed_getcaretline var ret, int nFootyIDhsed_captureif stat : return 1sendmsg hIF@hsedsdk, _HSED_GETCARETLINE@hsedsdk, nFootyIDif stat <= 0 : return 1 : else : ret = stat : return 0//// 行のはじめを1として、指定した位置にキャレットの位置を変更#deffunc hsed_setcaretpos int nFootyID, int nCaretposhsed_captureif stat : return 1sendmsg hIF@hsedsdk, _HSED_SETCARETPOS@hsedsdk, nFootyID, nCaretposreturn//// スクリプトのはじめを1として、指定した位置にキャレットの位置を変更#deffunc hsed_setcaretthrough int nFootyID, int nCaretthroughhsed_captureif stat : return 1sendmsg hIF@hsedsdk, _HSED_SETCARETTHROUGH@hsedsdk, nFootyID, nCaretthroughreturn//// 指定した行番号にキャレットの位置を変更#deffunc hsed_setcaretline int nFootyID, int nLinehsed_captureif stat : return 1sendmsg hIF@hsedsdk, _HSED_SETCARETLINE@hsedsdk, nFootyID, nLinereturn#global
12345678910111213141516171819202122232425262728293031// キャレットの位置 取得・変更サンプルhsed_existif stat {hsed_getactfootyid nFootyID // 現在アクティブなFootyのIDを取得hsed_getcaretpos nCaretpos, nFootyIDhsed_getcaretvpos nCaretvpos, nFootyIDmes "※実際の文字数ではなく、エディタ上部にあるルーラーの指す位置\n"hsed_getcaretline nLine, nFootyIDhsed_getcaretthrough nCaretthrough, nFootyIDhsed_gettextlength nTextlength, nFootyIDnPercent = 100 * (nCaretthrough - 1) / nTextlengthmes "2行目にキャレットを移動します。"hsed_setcaretline nFootyID, 2; mes "スクリプトのはじめにキャレットを移動します。"; hsed_setcaretthrough nFootyID, 1; mes "現在の行のはじめにキャレットを移動します。"; hsed_setcaretpos nFootyID, 1} else {mes "スクリプトエディタが起動していません。"}stop