グループ コントロールでは、コントロールどうしを列に整列し、周囲フレームおよびグループ内部のネスト グループを使って関連付けられたコントロールどうしの関係を指定できます。
PPGLayout 内ではコントロールが直線的に順序付けされます。つまり、コントロールは宣言された順序どおりの順序でプロパティ ページに表示されます。
一連のコントロールをグループ化するには、PPGLayout.AddGroup または PPGLayout::AddGroup 呼び出しを最初の member-to-be の前、および PPGLayout.EndGroup または PPGLayout::EndGroup 呼び出しを最後の menmber- to-be の後に挿入します。
最後のを省略すると PPGLayout.EndGroup または PPGLayout::EndGroup 呼び出しを、PPGLayout.AddGroup または PPGLayout::AddGroup 呼び出し(ページの最後のコントロールに対する)がそのグループに含まれます。
グループ コントロールを作成する際には、オプションでラベルとフレーム(どちらも指定または省略可能)、また該当する場合はグループが占める列の割合を指定することができます。
これらの属性およびその他の属性は、次のいずれかの項目属性を使用する PPGItem.SetAttribute メソッドを使用して動的に設定することもできます。
グループ コントロールを列挙するには、PPGLayout.Count または PPGLayout::GetCount プロパティを使ってループを設定し、各 PPGLayout.Item または PPGLayout::GetItem をテストして、それがグループかどうかを確認します(詳細は、「レイアウトを変更する」を参照)。
PPGLayout.Item または PPGLayout::GetItem プロパティ値は、項目のインデックスまたは名前を取るため、PPGItem.Type または PPGItem::GetType プロパティを次の例のように使用してテストできます。
function ChangeLastGroupLabel_OnClicked() { // Loop backwards through the list of items to find the group tag // that starts the last group for (var i=PPG.PPGLayout.Count-1; i>=0; i--) { // Test for "GroupBegin" (type of opening tag) if (PPG.PPGLayout.Item(i).Type == "GroupBegin") { // When we find it, reset the label PPG.PPGLayout.Item(i).Label = "Last Group"; PPG.PPGLayout.Item(i).SetAttribute( siUIShowFrame, false ); // We need to refresh the layout to see the changes and then // we're done! PPG.Refresh(); break; } } }