form_field_new(3X) | form_field_new(3X) |
名称
form_field_new - form フィールドを作成、破壊する書式
#include <form.h>int toprow, int leftcol,
int offscreen, int nbuffers);
解説
関数 new_field は新しいフィードを割り付けて、与えられたパラメータ、高さ、幅、上左の角の行、上左の角の列、画面外の列数および作業バッファの番号を初期化します。関数 dup_field は新しい位置でフィールドを複写します。ほとんどの属性 (現在の内容、サイズ、確認タイプ、バッファカウント、成長しきい値、正当化、フォアグラウンド(前景)、バックグラウンド(背景)、パッド(詰め物)文字、オプションおよびユーザポインタを含んで) がコピーされます。フィールドステータスおよびフィールドページビットはコピーされません。
関数 link_field は dup_field のように作用します。しかし、新しいフィールドは親のバッファを共有します。属性データは個別です。
関数 free_field は、フィールドに関連した記憶域の割り付けを解放します。
戻り値
関数 new_field, dup_field, link_field は、エラーの場合 NULL を返します。それらは、成功したかどうかに従って、errno を設定します:- E_OK
- ルーチンが成功した。
- E_BAD_ARGUMENT
- ルーチンは正しくないか範囲外の引数を検知しました。
- E_SYSTEM_ERROR
- システムエラーが生じた、例えば、malloc の失敗。
関数 free_field は、次の 1 つを返します:
- E_OK
- ルーチンが成功した。
- E_BAD_ARGUMENT
- ルーチンは正しくないか範囲外の引数を検知しました。
- E_CONNECTED
- フィールドは、接続されています。
関連項目
curses(3X), form(3X)注
ヘッダファイル <form.h> は自動的にヘッダファイル <curses.h> を含んでいます。移植性
これらのルーチンは System V メニューライブラリをエミュレートします。それらは Version 7 または BSD バージョンではサポートされませんでした。移植性のため dup_field によってコピーされた属性のセットを当てにすることは愚かです。 System V form ライブラリドキュメントは、コピーされるものやされないものについてあまり明白ではありません。