コントロールとテキストの追加
ダイアログ ボックスやビルボードに配置されたコントロールとテキストにより、ユーザーはインストール プロセスを操作できるようになります。 「ユーザー インターフェイスの使用」の説明に従って、ダイアログ ボックスをダイアログ テーブルに含めることにより、ユーザー インターフェイスに追加します。 ダイアログ ボックスとビルボードにコントロールを追加するには、それぞれ Control テーブルと BBControl テーブルを設定します。
コントロールの初期属性は、Control テーブルの [属性] 列で指定できます。 「コントロール属性」を参照してください。
コントロールの属性を条件に依存させるには、ControlCondition テーブルを使用して、プロパティまたは条件ステートメントの値に従ってコントロールを無効、有効、非表示、または表示します。 このテーブルを使用して、Dialog テーブルに入力された既定のコントロールの指定をオーバーライドすることもできます。
イベントでコントロール属性を変更するには、EventMapping テーブルの ControlEvent にコントロールをサブスクライブします。 ControlEvent は、インストーラーによって実行されるアクション、またはダイアログ ボックス内の 1 つ以上のコントロールの属性の変更を指定します。 「ControlEvent の概要」を参照してください。 EventMapping テーブルの [属性] 列に属性の識別子を入力し、[イベント] 列に ControlEvent の識別子を入力します。
一部のコントロールは、ユーザーからの情報の収集を容易にします。 たとえば、チェック ボックスを使用すると、ユーザーはプロパティの値を設定できます。 CheckBox テーブル、ComboBox テーブル、ListBox テーブル、RadioButton テーブル、および ListView テーブルを参照してください。
セキュリティ上の理由から、ユーザーがユーザー インターフェイスを操作してもプライベート プロパティを変更できないことに注意してください。 ユーザー インターフェイスでプロパティを設定する場合は、パブリック プロパティであり、名前がすべて大文字である必要があります。 「プロパティについて」を参照してください。
ダイアログ ボックスでユーザーに情報を表示したり、ActionText テーブルに入力してインストール アクションに応じて情報をログに書き込んだりすることができます。
コントロールには事前定義されたフォント スタイルを含めることができます。 テキスト文字列のフォントとフォント スタイルを設定するには、表示される文字の文字列の先頭に {\style} または {&style} を付けます。 ここで、style は、TextStyle テーブルの TextStyle 列に記載されている識別子です。 これらのどちらも存在しないが、DefaultUIFont プロパティが有効なテキスト スタイルとして定義されている場合は、そのフォントが使用されます。
UI を持つすべてのインストール パッケージの DefaultUIFont プロパティは、Property テーブルで、TextStyle テーブルにリストされている定義済みスタイルのいずれかに設定することをお勧めします。 このプロパティを指定しない場合、インストーラーはシステム フォントを使用します。 このため、パッケージのコード ページがユーザーの既定の UI コード ページと異なる場合、インストーラーでテキスト文字列が不適切に表示される可能性があります。
ほとんどのコントロールでは、データベースのコード ページで指定された文字セットを使用してテキストが表示されます。 これにより、データベースに含まれる情報に対して正しい文字セットが使用されるようになります。 これに対する例外は、Edit、DirectoryList、PathEdit、および DirectoryCombo コントロールであり、これらのコントロールは常にユーザーの既定の UI 文字セットを使用してテキストを表示します。 UsersLanguage コントロール属性が設定されている場合、Text、ListBox、および ComboBox コントロールはユーザーの既定の UI 文字セットを使用します。
ダイアログ ボックスから取り消すと、コントロールが正しく描画されない場合があります。 これは、[キャンセル] ダイアログ ボックスが削除された後にコントロールが WM_PAINT メッセージを受信する順序に関係します。 この問題を解決するには、Control テーブルのコントロールの順序を変更してみてください。
コントロールは、すべてのフォント サイズ設定で表示されるテキスト全体に対応できるだけの十分な大きさである必要があります。 UI 内のテキストがローカライズされる可能性がある場合、コントロールはローカライズされたテキスト全体に対応できるだけの十分な大きさである必要があります。 フォント サイズやローカライズされたテキストが大きくなると、元のテキストよりも多くのスペースが必要になり、コントロールが小さすぎると切り詰められる可能性があります。 UI テキストのローカライズの詳細については、「ローカライズの例」セクションを参照してください。