CControlBar::CalcDynamicLayout

框架调用该成员函数计算动态工具栏的大小。

virtual CSize CalcDynamicLayout(
   int nLength,
   DWORD nMode 
);

参数

  • nLength
    控件条请求的维度,水平或垂直,根据 dwMode。

  • nMode
    下列预定义的标志用于确定动态控件条的高度和宽度。使用按位或(|)组合标志的运算符。

    格式模式标志

    将意味着

    LM_STRETCH

    指示是否应拉伸控制条添加到框架的范围。设置,如果该线条不是停靠栏(不可用于停靠)。未设置,该栏停靠或是浮动(可用于停靠)。如果设置,LM_STRETCH 忽略 nLength 并返回基于 LM_HORZ 状态的大小。LM_STRETCH 工作方式类似于用于 CalcFixedLayout的 bStretch 参数;请参见该成员函数有关拉伸和orientation之间的关系的更多信息。

    LM_HORZ

    指示该拆分条水平或垂直方向排成一行。设置,如果该拆分条水平放置,并且,如果它垂直放置,未设置。LM_HORZ 工作方式类似于用于 CalcFixedLayout的 bHorz 参数;请参见该成员函数有关拉伸和orientation之间的关系的更多信息。

    LM_MRUWIDTH

    最近使用的动态宽度。忽略 nLength 参数并将确保的最近使用的宽度。

    LM_HORZDOCK

    水平停靠的大小。忽略 nLength 参数并返回具有最大的宽度的动态大小。

    LM_VERTDOCK

    垂直停靠的大小。忽略 nLength 参数并返回具有最大的高度的动态大小。

    LM_LENGTHY

    设置,如果 nLength 指示高度(Y方向)而不是宽度。

    LM_COMMIT

    为不受静差控件条的当前宽度为默认值 LM_MRUWIDTH

返回值

控制条大小,以像素为单位),CSize 对象。

备注

重写该成员函数提供您在从 CControlBar派生的类选件自己的动态布局。从 CControlBar派生的MFC选件类,如 CToolbar,重写该成员函数并提供自己的实现。

要求

Header: afxext.h

请参见

参考

CControlBar选件类

层次结构图

CControlBar::CalcFixedLayout

CToolBar选件类