概要 - 終了ボタンをカスタマイズする(DCL)

一部のダイアログ ボックスでは、終了ボタンの文字を変更した方がいい場合があります。

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

たとえば、データを削除できるダイアログ ボックスを作成する場合は、ボタンの名前を[OK]ではなく、[削除]にした方が安全です。これを行うには、次のようにして retirement_button プロトタイプを使用してください。

destroy_button : retirement_button {
  label = "&Destroy";
  key = "destroy";
}

ラベル属性に割り当てる文字にアンパサンド( & )を使用している点に注目してください。これによって、タイルにショートカット キーが割り当てられます。この場合、ボタンのラベル内で文字 D に下線が引かれ、それがショートカット キーになります。

注: 既存のボタン サブアセンブリをカスタマイズするときは、base.dcl ファイルから正しい DCL コードを取得してください。

カスタム終了ボタンを定義したら、標準的なクラスタの外観と機能に合うサブアセンブリにそのボタンを埋め込む必要があります。次の例は、ok_cancel_help の既定の定義を示しています。

ok_cancel_help : column {
  : row {
    fixed_width = true;
    alignment = centered;
    ok_button;
    : spacer { width = 2; }
    cancel_button;
    : spacer { width = 2; }
    help_button;
  }
}

ok_button を新しいボタンで置き換える新しいサブアセンブリを、たとえば次のようにします。

destroy_cancel_help : column {
  : row {
    fixed_width = true;
    alignment = centered;
    destroy_button;
    : spacer { width = 2; }
    cancel_button;
    : spacer { width = 2; }
    help_button;
  }
}

標準のサブアセンブリでは、既定は[OK]ボタンですが、この属性は destroy_button に追加されていません。ダイアログ ボックスの動作がデータを破壊する可能性がある場合は(または長時間を要する場合は)、[キャンセル]ボタンを既定にすることを強くお勧めします。たとえば、次では、[キャンセル]ボタンは[既定]ボタンと[中止]ボタンの両方として定義されています。

destroy_cancel_help : column {
  : row {
    fixed_width = true;
    alignment = centered;
    destroy_button;
    : spacer { width = 2; }
    : cancel_button { is_default = true; }
    : spacer { width = 2; }
    help_button;
  }
}

属性を変更したので、元の[キャンセル]はプロトタイプとして使用されます。cancel_button の前に、コロンが付いています。

注: [キャンセル]ボタンと既定ボタンが同じときに(is_defaultis_cancel の両方が true)、done_dialog を呼び出す動作をどのボタンにも割り当てないと、他のボタンを使用してダイアログ ボックスを閉じられなくなる上、常にキャンセルされてしまいます。