ファイヤープロジェクト
スクロール
2003-07-20T15:13+09:00   matsu
cursesでは画面をスクロールさせたりもできる.
ウィンドウはデフォルトではスクロール不可になっている.これを可にするには,
int scrollok(WINDOW *win, bool bf);
を使用する.これで,カーソルがLINES-1行目に書き込みを行なったときにスクロールする.これはソフトウェア的なスクロールらしい.というのは,ハードウェア的なスクロールをするには,
int idlok(WINDOW *win, bool bf);
を使用してハードウェア的な行挿入/行削除を許可していなければならないらしいからだ(デフォルトでは不可).また,scrollokでスクロールを許可していると,LINES-1行目に書き込みを行なわなくても
int scrl(int n);
int wscrl(WINDOW *win, int n);
で任意の行数スクロールさせることができる.
サンプルとしてcursesのスクロール機能を使用してなんちゃってmoreを作成してみた.ファイルを表示し,いくつかのキーを押すとスクロールして次の行を表示させるものである.
matsu(C)
Since 2002
Mail to matsu