CToolBarCtrl::SetRows
ツール バー コントロールに、要求された行数にサイズ変更するように要求します。
void SetRows(
int nRows,
BOOL bLarger,
LPRECT lpRect
);
パラメーター
nRows
要求する行数。bLarger
ツール バーが要求された行数にサイズ変更できないとき、行数を増加するか、減少するかを指定します。lpRect
ツール バーの新しい外接四角形を受け取る CRect オブジェクト、または RECT 構造体へのポインター。
解説
ツール バーが要求された行数にサイズ変更できないときは、bLarger の値に従って、次に有効な行数に増加するか、減少するかしてサイズ変更します。 bLarger が TRUE のときは、新しい行数は要求された行数より増加します。 bLarger が FALSE のときは、新しい行数は要求された行数より減少します。
各行が (最終行を除いて) 同じ数のボタンを持つようにボタンを整列できると、指定された行数はツール バーにとって有効なものになります。 たとえば、4 つのボタンを持つツール バーは、最後の 2 行が短くなってしまうので、3 行にはサイズ変更できません。 3 行にサイズ変更しようとすると、bLarger が TRUE のときは 4 行、bLarger が FALSE のときは 2 行になります。
ツール バーに区切り記号があると、指定した行数が有効になるルールはさらに複雑になります。 グループが 1 行に収まる限りは、ボタン グループ (グループ内で、区切り記号で前後を区切られたボタン) が複数行に分割されないようにレイアウトを計算します。
グループが 1 行に収まらないと、次のグループが大きなグループが終わった行の残りの部分に収まる場合でも、次の行から開始されます。 このルールの目的は、大きなグループがそこで分けられていることをはっきりとさせるためです。 その結果生じる垂直区切り記号は、行としてカウントされます。
SetRows メンバー関数は、常にツール バーのサイズが最小となるようなレイアウトを選択することにも注意してください。 TBSTYLE_WRAPABLE スタイルを指定したツール バーの作成と、その後のコントロールのサイズ変更では、コントロールに指定された幅に従って、上記の手法を適用します。
この関数は、TBSTYLE_WRAPABLE スタイルを指定して作成されたツール バーに対してだけ呼び出すことができます。
必要条件
**ヘッダー:**afxcmn.h