EN JA
menu_win(3X)
menu_win(3X) menu_win(3X)

名称

menu_win - メニューウィンドウおよびサブウィンドウの組み合わせを作成するか分断する

書式

#include <menu.h>
 
int set_menu_win(MENU *menu, WINDOW *win);
 
WINDOW *menu_win(const MENU *menu);
 
int set_menu_sub(MENU *menu, WINDOW *sub);
 
WINDOW *menu_sub(const MENU *menu);
 
int scale_menu(const MENU *menu, int *rows, int *columns);
 

解説

すべてのメニューは関連するペアの curses ウィンドウを持っています。メニューウィンドウはウィンドウに関連させたどんなタイトルおよび境界を表示します。メニューサブウィンドウは、選択に現在利用可能なメニューの項目を表示します。

最初の 4 つの関数はそれらのウィンドウを取得し設定します。一方のウィンドウを設定することは必要ではありません。デフォルトで、ドライバコードは両方のために stdscr を使用します

set_ 関数では、あたかもそれが stsdcr かのように、 NULL のウィンドウ引数は扱われます。 NULL のメニュー引数は、システムデフォルトメニューウィンドウあるいはサブウィンドウを変更する要求として扱われます。

関数 scale_menu は、 menu のサブウィンドウのために必要になった最小サイズを返します。

戻り値

ポインタを返すルーチンは、エラーの場合 NULL を返します。整数を返すルーチンは、次のエラーコードの一つを返します:
E_OK
ルーチンが成功した。
E_SYSTEM_ERROR
システムエラーが生じた ( errno 参照)。
E_BAD_ARGUMENT
ルーチンは正しくないか範囲外の引数を検知しました。
E_POSTED
メニューは既に記入されています。
E_NOT_CONNECTED
項目はメニューに接続されていません。

関連項目

curses(3X), menu(3X)

ヘッダファイル <menu.h> は自動的にヘッダファイル <curses.h> を含んでいます。

移植性

これらのルーチンは、System V メニューライブラリをエミュレートします。それらは、Version 7 または BSD バージョンではサポートされませんでした。

作者

Juergen Pfeifer。マニュアルページと新しい curses の適応は、Eric S. Raymond。