概要 - コールバック時にモードと値を変更する(DCL)

コールバック時にタイルの値をチェックできます。必要に応じて、もう一度 set_tile を使用してこの値を変更することができます。

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

コールバック中に、mode_tile を使用してタイルのステータスを変更することもできます。次の表に、mode_tile の mode 引数の値を示します。

mode_tile の mode のコード

説 明

0

タイルを使用可能にします。

1

タイルを使用禁止にします。

2

タイルにフォーカスを設定します。

3

編集ボックスの内容を選択します。

4

イメージのハイライト表示のオンとオフを切り替えます。

mode_tile を使用して、現在フォーカスが設定されているタイルを使用禁止にしたときは、もう一度 mode_tile を呼び出して別のタイルにフォーカスを移す必要があります(ほとんどの場合、ダイアログ ボックスの次のタブ ストップ位置)。そうしないと、使用禁止にしたタイルにフォーカスが残ってしまい、論理的に矛盾してエラーが発生する可能性があります。

使用禁止にするタイルの例として、ユーザが[次]ボタンや[前]ボタンを選択することによって移動する、ダイアログ ボックスのページが挙げられます。ユーザが最後から 1 ページ前のページで[次]ボタンを選択すると、そのボタンは使用禁止になります。2 ページ目で[前]ボタンを選択したときも同じです。どちらの場合も、コードは選択されたボタンを使用禁止にし、フォーカスを別のタイルに移す必要があります。

group_on というタイルが、group というクラスタをコントロールするトグルだとします。トグルがオフにされている場合、クラスタ内のタイルは非アクティブですので、変更してはいけません。この場合、トグルに対して次に示すアクションを定義できます(制御文字 ¥" を使用している点に注目してください。こうすることで、action_tile 引数内でクォーテーション マークを使用できます)。

(action_tile "group_on" "(mode_tile \"group\" (- 1 (atoi $value)))")

アクション式での subtraction - ) および atoi の呼び出しにより、mode_tile 関数の mode 引数が設定されます。トグルはオフのときは 0 (ゼロ)、オンのときは 1 であるため、subtraction の値は反転します。mode はクラスタを使用可能にするかどうかをコントロールします。get_attr 関数を使用すると、タイルの value 以外の属性を調べることができます。たとえば、"pressme" というボタンのラベルを取得する場合は、次のようにします。

(get_attr "pressme" "label")

get_attr 関数は、指定された属性の値を文字列として返します。

注: get_attr を使用して value 属性を取得すると、この関数は DCL ファイルに保存されている value 属性を取得します(タイルの初期値)。しかし、get_tile 関数はタイルの実行時の現在値を取得します。これら 2 つの値が同じであるとは限りません。
注: get_attr を使用して value 属性を取得すると、この関数は DCL ファイルに保存されている value 属性を取得します(タイルの初期値)。しかし、get_tile 関数はタイルの実行時の現在値を取得します。これら 2 つの値が同じであるとは限りません。