CControlBar::GetCount
CControlBar::CalcFixedLayout
CControlBar::CalcDynamicLayout
上面三个函数都是做什么用的,看不大懂,请各位点拨

解决方案 »

  1.   

    CStatusBar, CToolBar, CDialogBar, CReBar,COleResizeBar的基类,
    看MSDN:
    ms-help://MS.VSCC/MS.MSDNVS.2052/vclib/html/_mfc_ccontrolbar_class_members.htm
      

  2.   

    GetCount   返回状态条中非HWND成员的个数CalcFixedLayout    以CSize对象返回控件条的大小CalcDynamicLayout以CSize对象返回动态控件条的大小
    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)覆盖了该函数。
    virtual CSize CalcFixedLayout( BOOL bStretch , BOOL bHorz );
    返回值
    返回控件条的大小(以像素为单位),存储在一个CSize对象中。
    参数
    bStretch
    指明是否伸展控件条以适应框架窗口的大小。如果不是一个可停靠的控件条,为非零值。当控件条处于停靠状态或浮动状态时,为0。
    bHorz
    指明控件条是水平放置还是垂直放置的。水平放置时为非零值,否则为0。说明本函数用于计算控件条的水平大小。象工具条那样的控件条可以水平或垂直扩展以显示其中的按钮。如果bStretch为TRUE,则在bHorz提供的方向上扩展。下表列出了可能的排列:
    bStretch   BHorz     伸展与否    方向   是否停靠
    TRUET      RUE       水平伸展     水平    否
    TRUE       FALSE      垂直伸展     垂直   否
    FALSE       TRUE      不伸展      水平    是
    FALSE        FALSE     不伸展     垂直    是int GetCount( ) const;
    返回值
    返回CControlBar对象中的非HWND型的项的个数。对于CDialogBar对象来说,返回0。说明
    本函数返回CControlBar对象中的非HWND型的项的个数。项的类型取决于派生对象:CStatusBar对象对应于面板,CToolBar对象对应于按钮和分隔符。
      

  3.   

    CalcFixedLayout    以CSize对象返回控件条的大小
    CalcDynamicLayout以CSize对象返回动态控件条的大小
    控件条和动态控件条是何含义?
    我概念不大清楚
    多谢!!!
    请各位的指教