リソースファイルの構文
 
リソースファイルは、ネストした文で構成されます。文は括弧でくくられ、キーワードあるいはダイアログかコンポーネント属性の名前、それに続く 1 つまたは複数の値あるいはほかの文 (またはその両方) を含みます。
ダイアログのリソースファイルの最上位レベルの文は、常に次の文でなければなりません。
(
Dialog dialog_name (other statements... )
)
ここで、dialog_name はダイアログ自体の名前です。ダイアログは、アプリケーションのソースコードがダイアログを参照するときに使用されます。ダイアログの名前の文字数に制限はなく、英数字と下線を使用できます。大文字と小文字の区別はありません。
リソースファイルにレイアウトしか含まれていない場合、最上位レベルの文は次のようになります。
(
Layout layout_name (other statements... )
)
instead.つまり、最上位レベルの文は、リソースファイル内で一番外側にあるコンテナについて記述したものです。
コンテナ名の後には、Components と Resources の 2 つの文が必ず続きます。
Components 文は、そのダイアログに含まれるコンポーネントのタイプと名前のリストです。
レイアウト (Layout)、メニュー枠 (MenuPane)、カスケードボタン (CascadeButton)、テーブル (Table)、またはツリー (Tree) タイプの各コンポーネントには、Dialog 文に続くそれぞれ独自のコンテナレベルの文があります。これらの文のフォーマットは、Dialog 文とまったく同じです。
コンポーネントの 1 つがタブ (Tab) タイプの場合、タブに含まれるレイアウトは Dialog 文の Components 部分に記述されているタブ名のあとにリストされます。同様に、コンポーネントの 1 つがメニューバー (MenuBar) またはカスケードボタン (CascadeButton) である場合、それに含まれる「MenuPanes」は、Dialog 文の Components 部分に記述されているメニューバー名のあとにリストされます。
Resources 文には、1 つまたは複数の属性割り当てが含まれます。属性割り当て文のフォーマットは次のとおりです。
(componentname.attributename value)
Resource 文は、ダイアログとコンポーネントの属性、コンポーネントの相対的な位置を定義するレイアウト、ダイアログのサイズが変更された場合のコンポーネントの動作方法を定義します。コンポーネント名が指定されていない Resource 文 (たとえば、(.attributename value)) は、ダイアログまたはレイアウト自体の属性に適用されるものと見なされます。属性とその値については、このセクションの後続のセクションで詳しく説明します。
Resources 文の最後の属性文は、.Layout と呼ばれる特別な文です。.Layout 文の値は、常に Grid タイプの 1 つの文です。Grid 文は、コンポーネントが配置される行と列のフレキシブルなグリッドを記述します。これは、隣接するコンポーネントとの位置関係、つまり、隣接するコンポーネントとの相対的な位置を定義します。これにより、ダイアログの含まれているウィンドウのサイズをユーザーが変更すると、それに対応してグリッドが伸縮し、コンポーネントの絶対位置とサイズも変わります。メニュー枠 (MenuPane) タイプの Components 文には、.Layout 文は必要ありません。
Grid 文には次の値が含まれます。
Rows 文 - グリッド内の行をリストします。
Cols 文 - グリッド内の列をリストします。
値リスト - 左から右、上から下の順に、各グリッド位置に配置する内容を指定します。値は次のいずれかです。
コンポーネントの名前。
Pos 文。リスト内の次のコンポーネントを、次に使用できる位置以外の場所に配置する場合、Pos 文を使用して新しい行と列の番号を指定します。Pos 文を使用すると、特定の位置を空白にしたまま、コンポーネントを任意の位置に配置できます。
別の Grid 文。独自のローカルグリッドを持つ複数のコンポーネントを配置する場合に使用します。
Rows 文または Cols 文の値は、行または列ごとの整数のリストです。ユーザーがダイアログのサイズを変更したときに行または列のサイズが変更されないようにする場合、0 を指定します。サイズを変更できるようにする場合は、1 を指定します(ダイアログが拡大されたときに、ダイアログコンポーネントもすべて拡大されるよう、通常は 1 に設定します)。
グリッド内のコンポーネントのサイズと位置は、Attach 属性と Offset 属性で設定する値によっても左右されます。詳細については、リソースファイル属性のマスターテーブルのセクションを参照してください。
*リソースファイルの最後の括弧の後に新しい行が含まれることを確認します。ない場合は、ProUIDialogCreate() 関数によりエラーが返されます。
これは役に立ちましたか?