モードレス ダイアログでのビルボードの表示

ビルボードは、インストール中に一連の画像とテキストをダイアログに表示できます。 通常、ビルボードは、インストールの進行状況をユーザーに通知するスライド ショーまたはアニメーションの視覚効果を作成するために使用されます。

モードレス ダイアログにビルボードを表示する

  1. ビルボードを含むモードレス ダイアログ ボックスの Dialog テーブルにレコードを含めます。 ビルボードが表示されると、モードレス ダイアログ ボックスがインストーラーに制御を返します。 これにより、インストーラーはメッセージを処理し、ダイアログ ボックスとビルボードを更新できます。 モードレス ダイアログ ボックスを作成するために、Dialog テーブルの Attributes フィールドに Modal ダイアログ スタイル ビットを設定しないでください。 次の Dialog テーブル レコードは、ActionDialog ダイアログ ボックスを指定しています。

    Dialog テーブル (一部)

    Dialog_ HCentering VCentering [高さ] 属性 Title Control_First Control_Default Control_Cancel
    ActionDialog 50 50 480 240 5 アクション キャンセル キャンセル キャンセル

     

  2. Control テーブルにレコードを追加して、ダイアログ ボックスでビルボードを表示することを指定します。 このレコードでは、BBControl テーブルに記載されているビルボード コントロールを表示するダイアログ ボックス上の領域のサイズと位置を定義します。 次の Control テーブル レコードは、ActionDialog ダイアログ ボックス上のビルボードの位置とサイズを定義しています。

    Control テーブル (一部)

    Dialog_ コントロール Type X Y [高さ] 属性
    ActionDialog Billboard Billboard 0 110 480 130 1

     

  3. Billboard テーブルには、ビルボード コントロールが記載され、特定のビルボード コントロールを表示するタイミングが指定されています。 ビルボード コントロールごとにレコードを Billboard テーブルに追加します。 Billboard テーブルにより、インストール中に送信された進行状況メッセージが監視されます。 ビルボードが表示されるのは、Billboard テーブルの Action 列に記載されているアクションによって進行状況メッセージが送信されたときのみで、さらに Feature_ フィールド内の機能がインストールに対して選択されている場合のみです。 ビルボードは、表示されると、別のビルボードで隠されるまで、またはダイアログ ボックスが閉じられるまで表示されたままです。 アクションに複数のビルボードが指定されている場合は、Ordering フィールドで指定された順序で一度に 1 つずつ表示されます。 たとえば、InstallFiles アクションが実行され、QuickTest 機能がインストールされるように選択されている場合、次の Billboard テーブル エントリによって最初に BB1、次に BB2 の Billboard コントロールが表示されます。

    Billboard テーブル (一部)

    Billboard 機能 アクション 順序
    BB1 QuickTest InstallFiles 1
    BB2 QuickTest InstallFiles 2

     

  4. BBControl テーブルでは、Billboard テーブルに記載されている Billboard コントロールに属するコントロールを指定します。 Text コントロールBitmap コントロールIcon コントロールは、ビルボードに表示できる唯一のコントロールの種類です。 各ビルボードに複数のコントロールを配置できます。 Billboard テーブルで表記されているとおりに、ビルボードの名前を BBControl テーブルの Billboard_ フィールドに入力します。

    各コントロールの位置は、コントロールの左上隅の座標として指定されます。 座標系の原点は、ダイアログ ボックスの隅ではなく、ビルボード コントロールの左上隅にあります。 座標はダイアログ単位ではなく、インストーラー単位です。 インストーラー単位は、10 ポイントの MS Sans Serif フォント サイズの 12 分の 1 の高さに等しくなります。 次の BBControl テーブルのレコードで、コントロールとビルボードが結び付けられます。

    BBControl テーブル (一部)

    Billboard BBControl Type X Y [高さ] 属性 テキスト
    BB1 Text Text 100 30 280 280 3 1 つ目のビルボード
    BB1 Bitmap1 Bitmap 0 0 100 100 3 ソフトウェア
    BB1 Bitmap2 Bitmap 380 0 100 100 3 ミュージック
    BB2 Text Text 100 30 280 20 3 2 つ目のビルボード
    BB2 Bitmap1 Bitmap 0 0 100 100 3 ミュージック
    BB2 Bitmap2 Bitmap 380 0 100 100 3 ソフトウェア

     

  5. ActionDialog ダイアログ ボックスにビルボードを表示するには、EventMapping テーブルにレコードを追加して、ビルボード コントロールを SetProgress ControlEvent にサブスクライブする必要があります。 インストーラーにより、Event 列に指定された SetProgress ControlEvent が発行されると、Attribute フィールドに指定されたコントロール属性が設定されます。 Event フィールドには、SetProgress ControlEvent の文字列識別子 (引用符なし) が含まれています。 Attribute フィールドには、設定する属性の文字列識別子 (引用符なし) が含まれています。 Dialog_ および Control_ フィールドは、Billboard コントロールを識別するので、Control テーブルの該当する各フィールドと一致する必要があります。 たとえば、次の EventMapping テーブルは、イベントにコントロールをサブスクライブします。

    EventMapping テーブル (一部)

    Dialog_ Control_ イベント 属性
    ActionDialog Billboard SetProgress 進捗状況