ウィジェット作成に使用できるいくつかのコマンドは、次のとおりです。
管理されないウィジェットを作成します。
これらのコマンドにはそれぞれ、従わなければならない特定の形式があります。たとえば、管理されないプッシュ・ボタン・ウィジェットをトップレベル・ウィジェットの子として作成したいと仮定します。XtCreateWidget か XmCreatePushButton のどちらかを使用できます。これらのコマンドの形式は、次のとおりです。
XtCreateWidget variable name widgetclass $parent [resource:value ...]
XmCreatePushButton variable $parent name [resource:value ...]
プッシュ・ボタン・ウィジェットを作成する実際のコマンドは、次のとおりです。
XtCreateWidget BUTTON button XmPushButton $TOPLEVEL XmCreatePushButton BUTTON $TOPLEVEL button
上記のそれぞれのコマンドは、全く同じ動作 (管理されないプッシュ・ボタンの作成) をします。リソース値は設定されていないことに注意してください。プッシュ・ボタンのバックグラウンドの色を赤、フォアグラウンドの色を黒にしたいと仮定します。これらのリソース値を次のように設定できます。
XtCreateWidget BUTTON button XmPushButton $TOPLEVEL ¥ background:Red ¥ foreground:Black XmCreatePushButton BUTTON $TOPLEVEL button¥ background:Red ¥ foreground:Black
ウィジェットを作成する C 関数のすべてが、ウィジェット ID または ID を返します。対応する dtksh コマンドは、ウィジェット ID と同じ環境変数を設定します。これらはカテゴリ 3 コマンドで、その最初の引き数は、ウィジェット ID が戻る環境変数の名前です。ウィジェット ID は、dtksh が実際のウィジェット・ポインタにアクセスするために使用する ASCII 文字です。次のどちらかのコマンドで、新規フォーム・ウィジェットを作成できます。ただし、どちらの場合も、新規フォーム・ウィジェットのウィジェット ID が環境変数 FORM に返されます。
どちらかのコマンドを実行した後、$FORM を使用して新規フォーム・ウィジェットを参照できます。たとえば、次のコマンドを使用して、新規フォーム・ウィジェット内でラベル・ウィジェットを作成できます。
XmCreateLabel LABEL $FORM name¥ labelString:"Hi Mom" ¥ CH_FORM ¥ leftAttachment:ATTACH_FORM
NULL と呼ばれる特別なウィジェット ID があります。これは、シェル・スクリプトに NULL のウィジェットの指定が必要である場合に使用します。たとえば、フォーム・ウィジェットの defaultButton リソースを無効にする場合には、コマンド XtSetValues $FORM defaultButton:NULL を使用してください。