スポンサーリンク

curs_slk

名称
書式
解説
戻り値
注釈
関連項目

名称

slk_init, slk_set, slk_refresh, slk_noutrefresh, slk_label, slk_clear, slk_restore, slk_touch, slk_attron, slk_attrset, slk_attroff - ncurses soft label routines

書式

#include <ncurses.h>

int slk_init(int fmt);
int slk_set(int labnum, char *label, int fmt);
int slk_refresh(void);
int slk_noutrefresh(void);
char *slk_label(int labnum);
int slk_clear(void);
int slk_restore(void);
int slk_touch(void);
int slk_attron(chtype attrs);
int slk_attrset(chtype attrs);
int slk_attroff(chtype attrs);

解説

slk* 関数は、多数の端末に存在するソフトファンクションキーラベルのセット を操作します。ソフトラベルのない端末の場合、 ncursesstdscr の下端行 を 占め、 stdscr および変数 LINES のサイズを減少させます。 ncurses は、 それぞれ最高 8 キャラクタの 8 つのラベルを標準化します。

slk_init ルーチンを呼び出してから、 initscr または newterm を呼び出す必 要があります。 initscr がソフトラベルをエミュレートするために stdscr か ら次第に行を使用していくと、 fmt が、ラベルが画面上でどのように配置され る か を決定します。 fmt0 に設定すると、ラベルは 3-2-3 配置になりま す。 1 に設定すると、 4-4 配置になります。

slk_set ルーチンの場合、 labnum1 から 8 のラベル番号 で す。 label は、ラベルに設定する長さが最高 8 キャラクタのストリングです。 NULL スト リングまたは NULL ポインタは、ブランクのラベルをセットアップ し ま す。 fmt01 、または 2 のいずれかで、それぞれラベル内部でラベルが左揃 え、中心揃え、または右揃えであることを示します。

slk_refresh ルーチンと slk_noutrefresh ルーチンは、 wrefresh ルーチンと wnoutrefresh ルーチンに対応します。

slk_label ルーチンは、ラベル番号 labnum の現在のラベルを返します。この 場合、先頭と末尾のブランクは除去されます。

slk_clear ルーチンは、画面からソフトラベルをクリアします。

slk_restore ルーチンは、 slk_clear が実行された後で、ソフトラベルを画面 に復元します。

slk_touch ルーチンは、 slk_noutrefresh が次に実行されるときに、すべての ソフトラベルが出力されるようにします。

slk_attronslk_attrset 、および slk_attroff の各ルーチンは、 attronattrset 、および attroff に対応しています。これらが効力を持つのは、 ソフトラベルが画面の下端行でシミュレートされる場合だけです。

戻り値

ルーチンは処理失敗すると整数 ERR を返し、処理が正常に完了すると ERR 以 外の整数値を返します。

slk_label はエラーがあると NULL を返します。

注釈

ほとんどのアプリケーションが slk_noutrefresh を使用します。 wrefresh が すぐ続くと考えられるからです。

関連項目

ncurses(3), curs_attr(3), curs_initscr(3), curs_refresh(3)

スポンサーリンク