| 日本−日本語 |
|
|
|
![]() |
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > sslk_attroff(3X)ENHANCED CURSESHP-UX 11i Version 2: September 2004 |
|
名称slk_attroff, slk_attr_off, slk_attron, slk_attr_on, slk_attrset, slk_attr_set, slk_clear, slk_color, slk_init, slk_label, slk_noutrefresh, slk_refresh, slk_restore, slk_set, slk_touch, slk_wset ― ソフトラベル関数 構文#include <curses.h> int slk_attroff(const chtype attrs); int slk_attr_off(const attr_t attrs, void *opts); int slk_attron(const chtype attrs); int slk_attr_on(const attr_t attrs, void *opts); int slk_attrset(const chtype attrs); int slk_attr_set(const attr_t attrs, short color_pair, void *opts); int slk_clear(void); int slk_color(short color_pair); int slk_init(int fmt); char *slk_label(int labnum); int slk_noutrefresh(void); int slk_refresh(void); int slk_restore(void); int slk_set(int labnum, const char *label, int justify); int slk_touch(void); int slk_wset(int labnum, const wchar_t *label, int justify); 説明Curses インタフェースは、多くの端末上にあるソフト ファンクションキーのラベルの集合を操作します。 ソフトラベルのない端末の場合には、Curses が stdscr の一番下の行を使うので、 stdscr のサイズと LINES 外部変数の値が減少します。 8 個までの表示カラムのそれぞれに 8 個までのラベルを指定することができます。 ソフトラベルを使うには、 initscr()、 newterm() または ripoffline() を呼び出す前に、 slk_init() を呼び出さなければなりません。 initscr() が、結果的に stdscr からの 1 行を使ってソフトラベルをエミュレートする場合には、fmt が画面上にラベルをどのように並べるかを決定します。 fmt を 0 に設定すると、ラベルが 3-2-3 の形で並ぶことを示し、1 に設定すると、ラベルが 4-4 の形で並ぶことを示します。 fmt のそれ以外の値は明示されていません。 slk_init() 関数は、 ripoffline() を呼び出す効果があり、要求されたフォーマットを収容するために画面の 1 行を確保します。 slk_set() および slk_wset() 関数は、1〜8 のソフトラベル番号 labnum のテキストを指定します。 label 引き数は、ラベルに書き出される文字列です。 slk_set() および slk_wset() では、ラベルの幅は 8 カラム分に制限されます。 ヌル文字列またはヌルポインタは、空白ラベルを指定します。 justify 引き数に以下の値を指定すると、ラベルのために確保されたスペース内で label の位置をどのように調整するかを指示することができます。
slk_refresh() および slk_noutrefresh() 関数は、 wrefresh() および wnoutrefresh() 関数に相当します。 slk_label() 関数は、ソフトラベル番号 labnum を求めます。 slk_clear() 関数は、ソフトラベルを画面からただちにクリアします。 slk_restore() 関数は、 slk_clear() を呼び出した後、ただちにソフトラベルを画面に復元します。 slk_touch() 関数は、 slk_noutrefresh() または slk_refresh() が次に呼び出されたときに、すべてのソフトラベルを強制出力します。 slk_attron()、 slk_attrset() および slk_attroff() の各関数は、 attron()、 attrset() および attroff() に相当します。 これらの関数は、ソフトラベルが画面の一番下の行にシミュレートされている場合にだけ、効果があります。 slk_attr_off()、 slk_attr_on()、 slk_attr_set()、 および slk_color() の各関数はそれぞれ、 attr_off()、 attr_on()、 attr_set() および color_set() に相当するので、WA_ 接頭辞の付いた属性定数およびカラーをサポートしています。 戻り値正常に終了すると、 slk_label() は、要求されたラベルを先行の空白と後続の空白を取り去って返します。 そうでなければヌルポインタを返します。 他の関数は、正常に終了すると OK を返します。 そうでなければ ERR を返します。 アプリケーション使用法マルチバイト文字セットを使う場合には、アプリケーションで、 slk_set() を呼び出す前に mbstowcs() を呼び出して、その後 wcswidth() を呼び出すことによって、文字列の幅をチェックする必要があります。 ワイドキャラクタを使う場合には、アプリケーションで、 slk_set() を呼び出す前に wcswidth() を呼び出すことによって、文字列の幅をチェックする必要があります。 ワイドキャラクタの文字列が占有するカラム数はコードセットに特有のものなので、 slk_wset() を呼び出す前に、 wcwidth() および wcswidth() を呼び出して、文字列内のカラムの数を調べる必要があります。 ほとんどのアプリケーションでは、 wrefresh() がすぐ後に続くことが多いので、 slk_noutrefresh() を使います。 参照attr_get(3X), attroff(3X), delscreen(3X), ripoffline(3X), mbstowcs() (『X/Open System Interfaces and Headers, Issue 4, Version 2』 specification), wcswidth() (『X/Open System Interfaces and Headers, Issue 4, Version 2』 specification), <curses.h> |
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||