プロパティに保存されているテキストの追加
「条件付き『お待ちください . . .』メッセージ ボックスの作成」というタイトルのセクションで説明されている例では、"ディスク容量のコスト処理が完了するまでお待ちください" というテキストを含むダイアログ ボックスが表示されます。これは、ダイアログ ボックスに Text コントロールを配置し、Control テーブルのテキスト列にテキスト文字列を入力するだけで実行できます。 この場合、フォント スタイルに関する情報を文字列に埋め込む必要があります。 作成者は、文字列の先頭に {\style} を付けて、フォントとフォント スタイルを設定する必要があります。 ここで、style は、TextStyle テーブルの TextStyle 列に記載されているフォント スタイル識別子です。 このテキストを追加する方法については、「インストール例」を参照してください。
ユーザー インターフェイスの作成者は、プロパティにテキストを保存することもできます。 次の例はこれを示しており、ControlEvents を使用して代替テキスト文字列を表示する方法を示しています。
この例の目的は、バックグラウンド タスクの実行中に [WaitForCosting] ダイアログ ボックスを表示することです。 新しいシナリオとの違いは、ユーザーが [WaitForCosting] ダイアログ ボックスを取り消し、バックグラウンド タスクが 2 回目に終了する前にコントロールをアクティブ化しようとすると、[WaitForCosting] ボックスが再表示され、次のような代替メッセージが表示されることです。"ディスク容量のコスト処理はまだ実行中です。 そのまま待機することも、メインの選択ボックスに戻ってこのシーケンスを終了することもできます。"
代替メッセージを表示する [お待ちください] ダイアログ ボックスを表示するには
- まず、「条件付きの "お待ちください..." メッセージ ボックスの作成」の説明に従って、条件付き [WaitForCosting] ダイアログ ボックスを [選択] ダイアログ ボックスに追加します。
- Control テーブルにレコードを作成して、[WaitForCosting] ダイアログ ボックスにテキスト コントロールを配置します。 [WaitForCosting] ダイアログ ボックスの識別子を [Dialog_] 列に入力します。 [Control] 列に Text コントロールの識別子を入力します。 [Type] 列にコントロールの型を Text として指定します。
- テキスト コントロールの Position コントロール属性を指定するには、Control テーブルの X と Y の各列にコントロールの左上隅の水平方向と垂直方向の座標を入力します。 距離単位にはピクセルを使用します。
- これらの寸法を Control テーブルの Width と Height の各列に入力して、テキスト コントロールの幅と高さを指定します。 長さ単位にはピクセルを使用します。
- Control テーブルの Property と Control_Next の各列は Text コントロールには影響しないため、この場合は空白のままでかまいません。
- ビット フラグに関連付けられている Text コントロールのコントロール属性を指定します。 個々のビット値を加算し、合計を Control テーブルの [Attributes] 列に入力します。 これらは、Visible、Sunken、Enabled、Transparent、NoWrap、NoPrefix の各コントロール属性です。 折り返しのテキストがある不透明な背景にテキスト コントロールを表示するビットの組み合わせは 0 であるため、0 を入力するか、[Attributes] 列を空白のままにします。
- Control テーブルの [Text] 列は空白のままでもかまいません。 Text コントロールには、Text コントロール属性の値であるテキスト文字列が表示されます。 この属性を設定する方法については、この手順の後続の手順で説明します。
- Property テーブル にレコードを追加して、FirstMessage メッセージ プロパティを定義します。 このプロパティは、最初のメッセージのフォント スタイルとテキストを含む文字列です。 [Property] 列に「FirstMessage」という名前を入力します。 [Value] 列に、「{\WaitStyle}ディスク容量のコスト処理が完了するまでお待ちください」という文字列を入力します。ここで WaitStyle は、TextStyle テーブルの [TextStyle] 列に一覧表示されているフォント スタイルの 1 つを表す識別子です。
- Property テーブルにレコードを追加して、SecondMessage メッセージ プロパティを定義します。 このプロパティは、2 番目のメッセージのフォント スタイルとテキストを含む文字列です。 [Property] 列に「SecondMessage」という名前を入力します。 [Value ] 列に、次の文字列を入力します。「{\WaitStyle}ディスク容量のコスト処理はまだ実行中です。 そのまま待機することも、メインの選択ボックスに戻ってこのシーケンスを終了することもできます。」
- Property テーブルにレコードを追加して、WaitMessage メッセージ プロパティを定義します。 このプロパティは、コストの設定が完了する前にユーザーがプッシュ ボタンをアクティブ化しようとすると、[WaitForCosting] ダイアログ ボックスに表示されるメッセージのフォント スタイルとテキストを含む文字列です。 [Property] 列に「WaitMessage」という名前を入力します。 Property テーブルの [Value] 列に、「FirstMessage」と入力します。
- [新しい選択] ダイアログ ボックスが開くたびに WaitMessage を FirstMessage に初期化する SetProperty ControlEvent を ControlEvent テーブルに追加します。 ダイアログ ボックス シーケンスの [選択] ダイアログの直前に表示されるダイアログ ボックスの識別子を [Dialog_] 列に入力します。 [選択] ダイアログ ボックスを開くために使用するこのダイアログ ボックスのコントロールの識別子を [Control_] 列に入力します。 [Event] 列に「WaitMessage」と入力します。 [Argument] 列に「FirstMessage」と入力します。 [Condition] 列に「1」と入力し、[Ordering] 列は空白のままにします。
- ディスク領域のコスト処理が完了する前にユーザーが [WaitForCosting] ダイアログ ボックスを閉じた場合は、Waitmessage を SecondMessage に設定する SetProperty ControlEvent を ControlEvent テーブルに追加します。 [WaitForCosting] ダイアログ ボックスの識別子を [Dialog_] 列に入力します。 Text コントロールの識別子を [Control_] 列に入力します。 [Event] 列に「WaitMessage」と入力します。 [Argument] 列に「SecondMessage」と入力します。 [Condition] 列に「NOT CostingComplete」と入力し、[Ordering] 列は空白のままにします。
- 次の手順では、Text コントロール属性を、[WaitForCosting] ダイアログ ボックスを生成する ControlEvent にリンクします。 これにより、ユーザーが [WaitForCosting] ダイアログ ボックスを開くたびに、インストーラーによって WaitMessage プロパティの値が Text コントロール属性に渡されます。
- EventMapping テーブルにレコードを追加して [WaitForCosting] ダイアログ ボックスを開く SpawnWaitDialog ControlEvent に Text コントロールの Text コントロール属性を登録します。 [WaitForCosting] ダイアログ ボックスの識別子を [Dialog_] 列に入力します。 Text コントロールの識別子を [Control_] 列に入力します。 [Event] 列に「SpawnWaitDialog」と入力します。 EventMapping テーブルの [Attribute] 列に、Text コントロール属性の識別子である「Text」を入力します。