次の方法で共有


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

参照

参照

CControlBar クラス

階層図

CControlBar::CalcFixedLayout

CToolBar クラス

その他の技術情報

CControlBar のメンバー