概要 - コールバックの理由(DCL)

変数 $reason で返されるコールバックの理由は、アクションが起こった理由を示します。

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

変数の値はどの種類のアクションにも設定されますが、アクションが edit_boxlist_boximage_buttonslider タイルに関連するときにのみ検査する必要があります。それぞれのコールバックの理由コードの値の概要は、次のとおりです。

コード 1

これは、ほとんどのアクション タイルの値で、ユーザがタイルを選択したことを示します(そのタイルが既定で、プラットフォームがアクセラレータ キーを認識する場合は、[Enter]を押してタイルを選択した可能性があります)。

コード 2 - 編集ボックス

ユーザが[Tab]を押すことにより、または別のタイルを選択することにより編集ボックスを終了したが、最終的な選択をしていないことを示します。これが編集ボックスのコールバックの理由である場合、アプリケーションは関連する変数の値を更新するのではなく、編集ボックス内の値の有効性をチェックする必要があります。

コード 3 - スライダ

ユーザがインジケータをドラッグする(またはそれに相当するアクションを行う)ことによりスライダの値を変更したが、最終的な選択をしていないことを示します。これがスライダのコールバックの理由である場合、アプリケーションは関連する変数の値を更新するのではなく、スライダのステータスを表示する文字を更新する必要があります。

コード 4 - リスト ボックスとイメージボタン

このコールバック理由は必ずコード 1 の後に続きます。これは通常、直前の選択を「確定する」ことを意味します。直前の選択を取り消すとユーザが混乱するので、絶対に避けてください。

  • リスト ボックス: ユーザがリスト ボックスをダブルクリックしたことを示します。ダブルクリックの意味は、アプリケーション側で定義できます。ダイアログ ボックスの主な目的がリスト項目を選択することである場合、ダブルクリックによって選択を行ってから、ダイアログ ボックスを終了させるようにしてください(この場合、list_box タイルの is_default 属性を true にしなければなりません)。リスト ボックスがダイアログ ボックスの主タイルでない場合、ダブルクリックは選択を行う(コード 1)のと同じ扱いにする必要があります。

    ユーザが複数の項目を選択できるリスト ボックス(multiple_select = true)は、ダブルクリックをサポートできません。

  • イメージ ボタン: ユーザがイメージ ボタンをダブルクリックしたことを示します。ダブルクリックの意味は、アプリケーション側で定義できます。多くの場合、1 回のクリックでボタンが選択されるようにすることが適切ですが、場合によっては 1 回のクリック(またはキーボードのアクション)でボタンをハイライト表示し、その後の[Enter]またはダブルクリックでそれを選択させる方がよいこともあります。