微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题让工具栏并列显示
栏目软件世界
作者望月
发布2001年43期
  假设在Windows程序窗口中有几个工具栏,现在我们希望让这些工具栏并列显示,该怎样实现呢?在这里,我们可以使用下面的函数来实现该功能,此函数是从CJ60Lib函数库弄下来的。笔者在下面的程序中实现的功能是:让LeftOf工具栏显示在Bar工具栏的左侧,同时还要并列显示在一起。下面就是在VC++中实现其功能的主要代码:
  void CCJMDIFrameWnd::DockControlBarLeftOf(CControlBar*Bar,
  CControlBar*LeftOf)
  {
  CRect rect;
  DWORD dw;
  UINT n;
  //使用MFC来调整所有工具栏的尺寸
  //确保GetWindowRec准确
  RecalcLayout(TRUE);
  LeftOf->GetWindowRect(&rect);
  rect.OffsetRect(1,0);
  dw=LeftOf->GetBarStyle();
  n = 0;
  n =(dw&CBRS_ALIGN_
  TOP)? AFX_IDW_DOCKBAR_TOP:n;
  n =(dw&CBRS_ALIGN_
  BOTTOM&&n==0)? AFX_IDW_DOCKBAR_BOTTOM:n;
  n = (dw&CBRS_ALIGN_
  LEFT &&n==0)? AFX_IDW_DOCKBAR_LEFT:n;
  n =(dw&CBRS_ALIGN_RIGHT&& n==0)? AFX_IDW_DOCKBAR_RIGHT
  :n;
  DockControlBar(Bar,n,&rect);
  }