Control テーブル

Control テーブルは、各ダイアログ ボックスに表示されるコントロールを定義します。

Control テーブルには以下の列があります。

Column 種類 キー Nullable
Dialog_ Identifier Y N
コントロール Identifier Y N
Type Identifier N N
X 整数 N N
Y 整数 N N
整数 N N
[高さ] 整数 N N
属性 DoubleInteger N Y
プロパティ Identifier N Y
テキスト Formatted N Y
Control_Next Identifier N Y
ヘルプ テキスト N Y

 

[列]

Dialog_

Dialog テーブルの最初の列 (ダイアログ ボックスの名前) の外部キー。

Control

コントロールの名前。 この名前はダイアログ ボックス内では一意である必要がありますが、異なるダイアログ ボックスで繰り返すことができます。 Control 列と Dialog_ 列を組み合わせると、このテーブルの主キーが形成されます。

Type

コントロールの型。 コントロールの種類の一覧については、「コントロール」を参照してください。

X

コントロールの四角形境界における左上隅の水平座標。 これは負ではない数である必要があります。 「Position コントロール属性」を参照してください。

Y

コントロールの四角形境界における左上隅の垂直座標。 これは負ではない数である必要があります。 「Position コントロール属性」を参照してください。

Width

コントロールの四角形境界の幅。 これは負ではない数である必要があります。 「Position コントロール属性」を参照してください。

Height

コントロールの四角形境界の高さ。 これは負ではない数である必要があります。 「Position コントロール属性」を参照してください。

Attributes

このコントロールに適用するビット フラグを指定する 32 ビット ワード。 これは負ではない数である必要があり、許可される値はコントロールの種類によって異なります。 すべてのコントロール属性の一覧と、このフィールドに入力する値については、「コントロール属性」を参照してください。

Property

このコントロールにリンクする定義済みプロパティの名前。 ラジオ ボタン、リスト ボックス、コンボ ボックスの値は、同じプロパティにリンクされることでグループに関連付けられます。 この列は、アクティブなコントロール場合は必須です。

Text

コントロールに含まれる初期テキストを設定するために使用されるローカライズ可能な文字列。 文字列には、埋め込みプロパティを含めることもできます。 プロパティを含む書式設定された文字列の構文については、MsiFormatRecord 関数に関する記事を参照してください。 テキスト文字列の前に {\style} を付けることで、テキストのサイズ、フォント、色を指定します。ここで、style は TextStyle テーブルの TextStyle 列に作成されたテキスト スタイルです。 テキスト文字列が長すぎてコントロールに収まらない場合は切り捨てられます。 テキスト文字列は空白にすることもできます。

TrackDiskpace 属性を持つダイアログ ボックスにある Text コントロールでテキストを表示する場合は、このフィールドの Formatted テキスト文字列を特別に作成する必要があります。 これは、Dialog テーブルの Attributes に表示される TrackDiskSpace ダイアログ スタイル ビットで指定されたケースです。 このケースでは、Control テーブルの Text 列の Formatted 文字列が "[" で始まり、"]" で終わる場合、文字列の末尾にスペースを追加する必要があります。 たとえば、DlgTextFont が "{\DlgFontBold}" に設定されるプロパティの場合、Formatted 文字列 "[DlgTextFont]MyText[ProductName] " には、終わり角かっこの後ろにスペースが必要です。 この追加のスペースは、インストーラーが Text コントロールにテキストを正しく表示するために必要なものです。

VolumeCostListListViewDirectoryList、および SelectionTree コントロールの短い説明テキスト文字列を入力できます。 このテキストはユーザーには表示されませんが、スクリーン リーダーがコントロールの説明として読み取ることができます。

アクセシビリティ」も参照してください。

Control_Next

同じダイアログ ボックス上の別のコントロールの名前と、Control テーブルの 2 番目の列の外部キー。 ダイアログ ボックスのフォーカスが Control 列のコントロールにある場合、タブ キーを押すと、フォーカスが Control_Next 列にリストされているコントロールに移動します。 したがって、この列は、ダイアログ ボックスのコントロールのタブ オーダーを指定するために使用されます。 コントロール間のリンクは、閉じたサイクルを形成している必要があります。 静的テキスト コントロールなどの一部のコントロールは、サイクルから除外することができます。 この場合、このフィールドは空白のままにすることができます。

アクセシビリティ」も参照してください。

ヘルプ

オプションで、ローカライズ可能なテキスト文字列。ヘルプ ボタンで使用されます。 この文字列は、区切り文字 (|) で 2 つの部分に分割されます。 文字列の最初の部分は、ツールヒント テキストとして使用されます。 このテキストは、画像を含むコントロールの場合にスクリーン リーダーによって使用されます。 文字列の 2 番目の部分は、将来使用するために予約されています。 2 種類のテキストのうち 1 つだけが存在する場合でも、区切り文字が必要です。

解説

X、Y、Width、Height に対する各整数値は、ダイアログ単位ではなく、インストーラー単位です。 インストーラー単位は、10 ポイントの MS Sans Serif フォント サイズの 12 分の 1 の高さに等しくなります。 コントロールの座標はビルボードを基準としています。

検証

ICE03
ICE06
ICE17
ICE20
ICE23
ICE31
ICE32
ICE34
ICE45
ICE46
ICE95