ArgList XtMergeArgLists(args1, num_args1, args2, num_args2)
ArgList args1;
Cardinal num_args1;
ArgList args2;
Cardinal num_args2;
Arg args[20]; int n; n = 0; XtSetArg(args[n], XtNheight, 100);n++; XtSetArg(args[n], XtNwidth, 200);n++; XtSetValues(widget, args, n);
また、引き数のリストを静的に宣言してから XtNumber を使用する方法もある:
static Args args[] = { {XtNheight, (XtArgVal) 100}, {XtNwidth, (XtArgVal) 200}, }; XtSetValues(Widget, args, XtNumber(args));
自動インクリメントや自動デクリメントを XtSetArg の最初の引き数に使用してはならないことに注意しなければならない。 これは XtSetArg が最初の引き数を 2 回参照するマクロを実装しているためである。
XtMergeArgLists 関数は指定された 2 つの ArgList 構造体を含めることのできる十分な記憶領域を割り当て、その中にこの 2 つ をコピーする。 コピーされた内容についてはチェックされない事に注意すること。 新たに生成された ArgList が不要になったときは XtFree によって解放しなければならない。