XtSetArg(3Xt)

名前
XtSetArg, XtMergeArgLists - ArgList の設定とマージ

書式
XtSetArg(arg, name, value)
      Arg arg;
      String name;
      XtArgVal value;

ArgList XtMergeArgLists(args1, num_args1, args2, num_args2)
     ArgList args1;
     Cardinal num_args1;
     ArgList args2;
     Cardinal num_args2;

引き数

arg 設定する Arg 構造体を指定する。

args1
    最初の を指定する。

args2
    2 番目の を指定する。

num_args1
    最初の引き数リストの引き数の数を指定する。

num_args2
    2 番目の引き数リストの引き数の数を指定する。

name
    リソース名を指定する。

value
    リソースが の大きさ以下であればその値、逆に大きければアドレスを指定する。

説明
ミスを最小限に抑えるため、 関数は極めて特定の形式で使用される。例えば：

Arg args[20]; int n; n = 0;
XtSetArg(args[n], XtNheight, 100);    n++;
XtSetArg(args[n], XtNwidth, 200);    n++;
XtSetValues(widget, args, n);

また、引き数のリストを静的に宣言してから を使用する方法もある：

static Args args[] = {
    {XtNheight, (XtArgVal) 100},
    {XtNwidth, (XtArgVal) 200}, }; XtSetValues(Widget, args, XtNumber(args));

自動インクリメントや自動デクリメントを の最初の引き数に使用してはならないことに注意しなければならない。 これは が最初の引き数を 2 回参照するマクロを実装しているためである。

関数は指定された 2 つの 構造体を含めることのできる十分な記憶領域を割り当て、その中にこの 2 つ をコピーする。 コピーされた内容についてはチェックされない事に注意すること。 新たに生成された ArgList が不要になったときは によって解放しなければならない。

関連項目
XtOffset(3Xt)
X ツールキット イントリンシクス - C 言語インターフェイス
Xlib - C 言語 X インターフェイス