CControlBar::CalcDynamicLayout
動的ツール バーの寸法を計算するために、フレームワークが呼び出します。
virtual CSize CalcDynamicLayout(
int nLength,
DWORD nMode
);
パラメーター
nLength
コントロール バーの要求した寸法。水平方向の寸法か垂直方向の寸法かは dwMode によります。nMode
次の定義済みのフラグを使って、動的コントロール バーの高さと幅を調べます。 フラグの組み合わせにはビットごとの OR (|) 演算子を使用します。レイアウト モード フラグ
意味
LM_STRETCH
コントロール バーのサイズをフレームのサイズに合わせて伸縮するかどうかを示します。 バーがドッキング バーではない (ドッキングが利用できない) 場合は設定します。 バーがドッキングまたはフリー (ドッキングが利用できる) の場合は設定しません。 設定されているときは、LM_STRETCH は nLength を無視し、LM_HORZ 状態を基準にして寸法を返します。 LM_STRETCH は、CalcFixedLayout のパラメーター bStretch と同じ働きをします。伸縮と方向の関係の詳細については、メンバー関数を参照してください。
LM_HORZ
バーが水平方向か垂直方向かを示します。 バーが水平方向のときは設定し、垂直方向のときは設定しません。 LM_HORZ は、CalcFixedLayout のパラメーター bHorz と同じ働きをします。伸縮と方向の関係の詳細については、メンバー関数を参照してください。
LM_MRUWIDTH
直前に使われていた動的な幅。 パラメーター nLength を無視し、直前に使っていた幅を記憶します。
LM_HORZDOCK
水平方向の配置寸法。 パラメーター nLength を無視し、動的な幅の最大サイズを返します。
LM_VERTDOCK
垂直方向の配置寸法。 パラメーター nLength を無視し、動的な高さの最大サイズを返します。
LM_LENGTHY
nLength が幅の代わりに高さ (Y 方向) を示しているときは設定します。
LM_COMMIT
LM_MRUWIDTH をフリー コントロール バーの現在の幅にリセットします。
戻り値
CSize オブジェクトのコントロール バーのサイズをピクセル単位で返します。
解説
CControlBar から派生したクラスで、独自に動的レイアウトを提供するときは、このメンバー関数をオーバーライドします。 CToolbar のような CControlBar から派生した MFC クラスは、このメンバー関数をオーバーライドし、独自の実装を提供しています。
必要条件
**ヘッダー:**afxext.h