首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

Win32api多文档框架中加入REBAR廉入工具栏的有关问题,请热心人指点

2012-08-11 
Win32api多文档框架中加入REBAR廉入工具栏的问题,请热心人指点.REBAR和REBAR里的工具栏都被多文档客户区挡

Win32api多文档框架中加入REBAR廉入工具栏的问题,请热心人指点.
REBAR和REBAR里的工具栏都被多文档客户区挡住了,只露出个工具栏的一些按钮出来,怎么办,代码如下:

 多文档框架部分消息代码
  ......
  case WM_CREATE:
  BuildRebar(hwnd);
  break;
  ......

////////////////////////
HWND BuildRebar(HWND hwndParent)
  hwndRebar = CreateWindow(WS_EX_TOPMOST,
  REBARCLASSNAME,
  NULL,CCS_NODIVIDER|WS_BORDER|WS_CHILD|WS_CLIPCHILDREN|WS_CLIPSIBLINGS|WS_VISIBLE,
  0,0,0,0,
  hwndParent,
  (HMENU)ID_REBAR,
  hInst,
  NULL);
if(!hwndRebar)
return NULL;
REBARINFOrbi;
rbi.cbSize=sizeof(REBARINFO);
rbi.fMask=0;
rbi.himl=NULL;
SendMessage(hwndRebar,RB_SETBARINFO,0,(LPARAM)&rbi);
REBARBANDINFOArbbi;
ZeroMemory(&rbbi,sizeof(rbbi));
rbbi.cbSize=sizeof(REBARBANDINFOA);
rbbi.fMask=RBBIM_STYLE|RBBIM_CHILD|RBBIM_CHILDSIZE|RBBIM_SIZE;
rbbi.fStyle=RBBS_NOGRIPPER|RBBS_BREAK;//RBBS_CHILDEDGE|RBBS_USECHEVRON|RBBS_VARIABLEHEIGHT
HWND abc=CreateToolBar(hwndRebar);
rbbi.hwndChild=abc;
RECT rc;
GetWindowRect(abc,&rc);
rbbi.cxMinChild=rc.right-rc.left
rbbi.cyMinChild=rc.bottom-rc.top;
rbbi.cx=rc.right;
SendMessage(hwndRebar,RB_INSERTBAND,(WPARAM)-1,(LPARAM)&rbbi);
return hwndRebar;
}

HWND CreateToolBar(HWND hWndParent)
{
  const int numButtons = 8;
  HWND hWndToolbar=CreateWindowEx(WS_EX_TOOLWINDOW,
  TOOLBARCLASSNAME,
  NULL,
  TBSTYLE_CUSTOMERASE|WS_CHILD|TBSTYLE_LIST,
  0,0,0,0,
  hWndParent,
  (HMENU)IDT_TOOLFS,
  hInst,
  NULL);
  if (hWndToolbar == NULL)
  {
  return NULL;
  }
  TBBUTTON tbButtons[numButtons]=
  {
  {I_IMAGENONE,IDM_FILE,TBSTATE_ENABLED,BTNS_AUTOSIZE|BTNS_BUTTON,{0},0,(INT_PTR)"文件"},
  {I_IMAGENONE,IDM_FANG_FYGL,TBSTATE_ENABLED,BTNS_AUTOSIZE|BTNS_BUTTON,{0},0,(INT_PTR)"房源管理"},
  {I_IMAGENONE,IDM_KY_KYGL,TBSTATE_ENABLED,BTNS_AUTOSIZE|BTNS_BUTTON,{0},0,(INT_PTR)"客源管理"},
  {I_IMAGENONE,IDM_YW_YWDT,TBSTATE_ENABLED,BTNS_AUTOSIZE|BTNS_BUTTON,{0},0,(INT_PTR)"业务动态"},
  {I_IMAGENONE,IDM_TOOL_SYGJ,TBSTATE_ENABLED,BTNS_AUTOSIZE|BTNS_BUTTON,{0},0,(INT_PTR)"实用工具"},
  {I_IMAGENONE,IDM_YWSZ,TBSTATE_ENABLED,BTNS_AUTOSIZE|BTNS_BUTTON,{0},0,(INT_PTR)"业务设置"},
  {I_IMAGENONE,IDM_WINDOW,TBSTATE_ENABLED,BTNS_AUTOSIZE|BTNS_BUTTON,{0},0,(INT_PTR)"窗口"},
  {I_IMAGENONE,IDM_HELP,TBSTATE_ENABLED,BTNS_AUTOSIZE|BTNS_BUTTON,{0},0,(INT_PTR)"帮助"}
  };
  SendMessage(hWndToolbar,TB_AUTOSIZE, 0, 0);
  SendMessage(hWndToolbar,TB_BUTTONSTRUCTSIZE,(WPARAM)sizeof(TBBUTTON),0);
  SendMessage(hWndToolbar,TB_ADDBUTTONS,(WPARAM)numButtons,(LPARAM)&tbButtons);
  return hWndToolbar;
}

[解决办法]
怎么会挡住了呢?建立文档的时候给客户区设置位置试试

热点排行