「TeraPadのCtrl↑と同じような動作をするマクロ」の版間の差分
ナビゲーションに移動
検索に移動
改行の方法を修正 |
セクションの追加 |
||
| 1行目: | 1行目: | ||
== 概要 == | |||
[http://hibari.2ch.net/test/read.cgi/software/1218692803/916 2chで要望]があったので作ってみました。 | [http://hibari.2ch.net/test/read.cgi/software/1218692803/916 2chで要望]があったので作ってみました。 | ||
window内に表示されている文章行数を取得する方法を思いついたので。 | window内に表示されている文章行数を取得する方法を思いついたので。 | ||
== ソースコード == | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
/* | /* | ||
2023年5月17日 (水) 23:26時点における版
概要
2chで要望があったので作ってみました。
window内に表示されている文章行数を取得する方法を思いついたので。
ソースコード
/*
TeraPadのCtrl+↑と同じような動作
*/
// カーソル位置を保存
var cursorX=Document.Selection.GetActivePointX(mePosView);
var cursorY=Document.Selection.GetActivePointY(mePosView);
// スクロール位置を保存
var sx = ScrollX;
var sy = ScrollY;
//表示されている一番下の行は sy+viewLines で表すことが出来る
if (ScrollY == 1){//スクロール出来なくなったときはカーソルが上がるだけ
Document.Selection.SetActivePoint(mePosView , cursorX, cursorY -1, false);
}else{
//window内に表示されている文章行数を取得
window.Redraw=false;
Document.Selection.SetActivePoint(mePosView , 1, ScrollY, false);
Document.Selection.PageDown(true);
var viewLines =Document.Selection.GetBottomPointY(mePosView ) - Document.Selection.GetTopPointY(mePosView );
Document.Selection.PageUp (false);
Document.Selection.SetActivePoint(mePosView , cursorX, cursorY, false);
window.Redraw=true;
if (cursorY > sy+viewLines - 3){//カーソルが表示されているところからなくならないように
Document.Selection.SetActivePoint(mePosView , cursorX, cursorY -1, false);
}
ScrollX = sx;
ScrollY = sy -1;
}
スポンサーリンク