ControlEvent テーブル
ControlEvent テーブルを使用すると、作成者は、ユーザーが PushButton コントロール、CheckBox コントロール、または SelectionTree コントロールと対話したときに開始されるコントロール イベントを指定できます。 これらは、ユーザーがコントロール イベントを開始するために使用できる唯一のコントロールです。 各コントロールが複数のコントロール イベントを公開できます。 インストーラーは、各イベントを Ordering 列で指定された順序で開始します。 たとえば、プッシュ ボタン コントロールを使用すると、別のダイアログ ボックスへの切り替えを開始し、ダイアログ ボックス シーケンスを終了し、ファイルのインストールを開始するイベントを公開できます。
注意すべき例外は、各コントロールで最大で 1 つの NewDialog イベントまたは 1 つの SpawnDialog イベントを公開できることです。 このテーブルで複数の NewDialog コントロール イベントと SpawnDialog コントロール イベントを作成する必要がある場合は、最大 1 つのイベントが公開されるようにする条件ステートメントを Condition フィールドに含めます。 複数の NewDialog コントロール イベントと SpawnDialog コントロール イベントが同じコントロールで選択されている場合、コントロールがアクティブ化されると、Ordering 列の最大値を持つイベントのみが公開されます。
ControlEvent テーブルには以下の列があります。
Column | 種類 | キー | Nullable |
---|---|---|---|
Dialog_ | Identifier | Y | N |
Control_ | Identifier | Y | N |
イベント | Formatted | Y | N |
引数 | Formatted | Y | N |
条件 | Condition | Y | Y |
順序 | 整数 | N | Y |
[列]
-
Dialog_
-
Dialog テーブルの最初の列への外部キー。 このフィールドを Control_ フィールドと組み合わせると、一意のコントロールが識別されます。
-
Control_
-
Control テーブルの 2 番目の列への外部キー。 このフィールドを Dialog_ フィールドと組み合わせることで、一意のコントロールが識別されます。
-
Event
-
ユーザーが Dialog_ および Control_ によって指定されたコントロールを操作すると行われるイベントの種類を指定する識別子。 有効な値の一覧については、「ControlEvent の概要」を参照してください。
コントロールでプロパティを設定するには、このフィールドに [Property_Name] を、引数フィールドに新しい値を入力します。 引数フィールドに { } を入れて null 値を入力します。
-
Argument
-
特定のイベントをトリガーするときに修飾子として使用される値。
たとえば、NewDialog ControlEvent または SpawnDialog ControlEvent の引数はダイアログ ボックスの名前であり、Install アクション の引数はインストール レベルを定義する数値です。
-
Condition
-
インストーラーが Event 列のイベントをアクティブ化するかどうかを決定する条件ステートメント。 Condition フィールドの条件ステートメントが True に評価された場合、インストーラーはイベントをトリガーします。 したがって、この列に 1 を入れてインストーラーがイベントをトリガーするようにします。 Condition フィールドに False と評価されるステートメントが含まれている場合、インストーラーはイベントをトリガーしません。 インストーラーは、コントロールの他のイベントが True に評価されない場合を除いて、Condition フィールドが空白のイベントをトリガーしません。 Control_ フィールドに指定されたコントロールの Condition フィールドが True に評価されない場合、インストーラーは空の Condition フィールドを持つ 1 つのイベントをトリガーし、複数の Condition フィールドが空白の場合は、Ordering フィールドで最大値を持つこれらの 1 つのイベントをトリガーします。 「条件付きステートメントの構文」を参照してください。
-
Ordering
-
同じコントロールに関連付けられている複数のイベントを順序付けるために使用される整数。 これは負でない数でなければなりません。 このフィールドは空白のままにすることができます。
解説
EventMapping テーブルには、コントロール イベントをサブスクライブするコントロールが一覧表示され、そのイベントが別のコントロールまたはインストーラーによって公開されると変更されるコントロール属性が一覧表示されます。
Windows XP 以前のオペレーティング システムでは、ユーザーは Checkbox コントロールや Pushbutton コントロールを操作することによってのみコントロール イベントを公開できます。 Windows Server 2003 では、ユーザーは Checkbox コントロール、SelectionTree コントロール、Pushbutton ボタン コントロールを操作することによってのみ、コントロール イベントを公開できます。 Control_ フィールドの一覧に他のコントロールを入れても効果はありません。
検証