秀丸マクロ: スクロール位置を元に戻す
スクロール位置を元に戻す
現在のスクロール位置は screentopy, screenleftx で取得可能です。
そしてスクロール位置をもとに戻す場合は、 enabledraw文の引数としてスクロール位置を指定します。
プログラムの流れは次の通りです。
- 現在のスクロール位置を取得
- 画面の書き換えを禁止する
- 何らかの処理
- 画面の書き換え許可(スクロール位置を元に戻す)
コードは次のようになります。
// 現在のスクロール位置 #scroll_y = screentopy; #scroll_x = screenleftx; //画面の書き換え禁止 disabledraw; //何らかの処理 // 画面の書き換え許可 enabledraw #scroll_y, #scroll_x;
スクロール位置とカーソル位置を戻す
スクロール位置だけでなく、 カーソル位置も戻す場合のサンプルプログラムです。
カーソルの位置も最初にキープしておき、 書き換え許可前に元の位置に戻します。
// カーソル位置を記憶 #num_x = x; #num_y = y; // 現在のスクロール位置 #scroll_y = screentopy; #scroll_x = screenleftx; //画面の書き換え禁止 disabledraw; //何らかの処理 // カーソル位置を元の位置に moveto #num_x, #num_y; // 画面の書き換え許可 enabledraw #scroll_y, #scroll_x;