次のプログラム・セグメントは、HelpRequestCB() 関数の一部です。通常、ユーザは、アプリケーションの [ヘルプ] メニューから [ヘルプの使い方] を選択するか簡易ヘルプ・ダイアログの [ヘルプ] ボタンを選択するため、USING_HELP 定数はその関数に渡されます。
次の例は、アプリケーションが [ヘルプの使い方] ダイアログを 1 つしか作成せず、そのウィジェット ID を onHelpDialog と呼ばれる変数に保持するものと仮定しています。
case USING_HELP:
if (onHelpDialog == (Widget)NULL)
{
/* Get a quick help dialog for use as the ` help on help' dialog. */
onHelpDialog = FetchHelpDialog (True);
if (onHelpDialog == (Widget)NULL)
/* We didn't get a dialog! Add your error handling code here. */
}
/* Set the proper volume and ID to display the home topic of
the help on help volume. Also, set the dialog's title. */
ac = 0; XtSetArg (al[ac], XmNtitle, "Help On Help"); ac++;
XtSetArg (al[ac], XmNhelpType, DT_HELP_TYPE_TOPIC); ac++;
XtSetArg (al[ac], XmNhelpVolume, "Help4Help"); ac++;
XtSetArg (al[ac], XmNlocationId, "_hometopic"); ac++;
XtSetValues (onHelpDialog, al, ac);
/* If the ` help on help' dialog is already managed, it might
be in another workspace, so unmanage it. */
if (XtIsManaged (onHelpDialog))
XtUnmanageChild (onHelpDialog);
/* Manage the ` help on help' dialog. */
XtManageChild (onHelpDialog);
break;
HelpRequestCB() 関数の残りが構成される方法を確認するには、ヘルプ・コールバックを追加するにはにある例を参照してください。