概要 - ダイアログを表示して使用するための関数シーケンス(DCL)

DCL ダイアログ ボックスのセットアップは、いくつかの AutoLISP 関数を使用する必要があり、それらを特定の順序で呼び出す必要があります。

注: AutoLISP での DCL のサポートは Windows のみに制限されています。

DCL ダイアログ ボックスを表示して使用する場合に従う必要がある典型的なシーケンスの概要は、次のとおりです。

  1. load_dialog を呼び出し、DCL ファイルをロードします。
  2. new_dialog を呼び出し、特定のダイアログ ボックスを表示します。

    new_dialog が返す値を必ずチェックしてください。new_dialog 呼び出しが失敗したにもかかわらず start_dialog を呼び出すと、予測できない結果になる可能性があります。

  3. タイル値、リスト、およびイメージを設定することにより、ダイアログ ボックスを初期化します。action_tile を呼び出してアクション式またはコールバック関数を設定するときも初期化してください。この時点で呼び出すその他の関数としては、一般的なタイル値とステータスに使用する set_tilemode_tile、リスト ボックスに使用する start_listadd_listend_list、およびイメージに使用する start_image、vector_image、fill_imageslide_imageend_image、およびそれらと一緒に使用する寸法関数です。ここで、client_data_tile を呼び出してアプリケーション固有のデータをダイアログ ボックスとその要素に関連付けることもできます。
  4. start_dialog を呼び出して、ユーザが入力できるよう、コントロールをダイアログ ボックスに切り替えます。
  5. アクション(コールバック)内からユーザ入力を処理します。おそらく get_tileget_attrset_tilemode_tile を使用するときに、入力を処理します。ユーザが終了ボタンを選択したときに done_dialog を呼び出すアクションが起動されます。これにより、start_dialog は値を返します。ここで、unload_dialog を呼び出して DCL ファイルをロード解除します。

    この方法は、一度に 1 つのダイアログ ボックスと 1 つの DCL ファイルだけを扱います。通常、アプリケーションは複数のダイアログ ボックスを備えています。複数のダイアログ ボックスを扱う上で最も簡単で速い方法は、すべてのダイアログ ボックスを 1 つの DCL ファイルに保存することです。次に load_dialog を呼び出してすべてのダイアログ ボックスを一度にロードします。その後、特定のダイアログ ボックスに対して new_dialog を呼び出すことができます。ただし、メモリが限られている場合には、複数の DCL ファイルを作成し、いったん unload_dialog を使用してダイアログ ボックスのセットをメモリから削除した上で、他のダイアログ ボックスのセットをロードするという方法を採らなければならないこともあります。