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 コントロールにテキストを正しく表示するために必要なものです。
VolumeCostList、ListView、DirectoryList、および SelectionTree コントロールの短い説明テキスト文字列を入力できます。 このテキストはユーザーには表示されませんが、スクリーン リーダーがコントロールの説明として読み取ることができます。
「アクセシビリティ」も参照してください。
-
Control_Next
-
同じダイアログ ボックス上の別のコントロールの名前と、Control テーブルの 2 番目の列の外部キー。 ダイアログ ボックスのフォーカスが Control 列のコントロールにある場合、タブ キーを押すと、フォーカスが Control_Next 列にリストされているコントロールに移動します。 したがって、この列は、ダイアログ ボックスのコントロールのタブ オーダーを指定するために使用されます。 コントロール間のリンクは、閉じたサイクルを形成している必要があります。 静的テキスト コントロールなどの一部のコントロールは、サイクルから除外することができます。 この場合、このフィールドは空白のままにすることができます。
「アクセシビリティ」も参照してください。
-
ヘルプ
-
オプションで、ローカライズ可能なテキスト文字列。ヘルプ ボタンで使用されます。 この文字列は、区切り文字 (|) で 2 つの部分に分割されます。 文字列の最初の部分は、ツールヒント テキストとして使用されます。 このテキストは、画像を含むコントロールの場合にスクリーン リーダーによって使用されます。 文字列の 2 番目の部分は、将来使用するために予約されています。 2 種類のテキストのうち 1 つだけが存在する場合でも、区切り文字が必要です。
解説
X、Y、Width、Height に対する各整数値は、ダイアログ単位ではなく、インストーラー単位です。 インストーラー単位は、10 ポイントの MS Sans Serif フォント サイズの 12 分の 1 の高さに等しくなります。 コントロールの座標はビルボードを基準としています。
検証