CControlBar::CalcDynamicLayout

virutal CSize CalcDynamicLayout( int nLength, DWORD dwMode );

返回值:
返回控件条的大小(以像素为单位),记录在一个CSize对象中。

参数:
nLength存放控件条宽度或高度所需要的大小(由dwMode确定)。
dwMode下面的标志用于设定控件条的宽度和高度,可以用OR操作(|)组合使用。
布局标志含义
LM_STRECTH指明是否伸展控件条以适应框架窗口的大小。如果不允许停靠,则设置它;当控件条处于停靠状态或浮动状态时,不需要设置它。设置了LM_STRECTH后,将忽略nLength并根据LM_HORZ的状态返回维数。此参数与Calc FixedLayout中参数bStretch作用类似
LM_HORZ指明控件条是水平放置还是垂直放置的。水平放置时设置此参数。此参数与CalcFixedLayout中参数bHorz作用类似
LM_MRUWIDTH最近最多使用的动态宽度。忽略参数nLength,并采用记录的最近最多使用的值
LM_HORZDOCK水平停靠的维数。忽略参数nLength并返回最大的宽度作为动态大小
LM_VERTDOCK垂直停靠的维数。忽略参数nLength并返回最大的高度作为动态大小
LM_LENGTHY在nLength指的是高度而不是宽度时设置
LM_COMMIT重置LM_MRUWIDTH为当前浮动的控件条的宽度

说明:
本函数用于计算动态工具条的维数。
可以在派生类中覆盖此函数以提供自定义的动态布局信息。从CControlBar派生的类(如CToolbar)覆盖了该函数。

请参阅:CControlBar::CalcFixedLayout, CToolBar