小弟初学SDK
今日在 ReBarWindow32,REBARBANDINFO 迷惑不解
代码如下:
INITCOMMONCONTROLSEX ComCtls;
ComCtls.dwICC=ICC_COOL_CLASSES;
ComCtls.dwSize=sizeof(ComCtls); InitCommonControlsEx(&ComCtls);

RECT r; GetClientRect(hWnd,&r);

CoolBar=CreateWindowEx(0,
                        "ReBarWindow32", NULL, WS_BORDER |  WS_CHILD | WS_CLIPCHILDREN | WS_VISIBLE|
WS_CLIPSIBLINGS | CCS_NODIVIDER | CCS_NOPARENTALIGN|RBS_AUTOSIZE|RBS_BANDBORDERS|CCS_TOP|RBS_VARHEIGHT,
0, 0, r.right,200, hWnd,0, 
                        hInst, NULL); /*HWND TooBarHwnd; TooBarHwnd = CreateWindowEx(0, TOOLBARCLASSNAME, NULL, WS_CHILDWINDOW|
WS_CLIPCHILDREN, 0, 0, 0, 100,
CoolBar, (HMENU)ID_TOOLBAR, GetModuleHandle(NULL), NULL);*/ REBARBANDINFO rbBand;
rbBand.cbSize=sizeof(rbBand);
rbBand.fMask=RBBIM_STYLE|RBBIM_ID |RBBIM_TEXT|RBBIM_CHILD|RBBIM_IDEALSIZE;
//rbBand.clrFore =RGB(0,0,0);//GetTextColor(GetDC(hWnnd));
//rbBand.clrBack = RGB(128,128,128);
rbBand.fStyle=RBBS_GRIPPERALWAYS|RBBS_FIXEDBMP|RBBS_BREAK;
rbBand.lpText =_T("OK");
rbBand.wID = 10;
rbBand.hwndChild=NULL;
rbBand.cxHeader =1;
rbBand.hwndChild=0;
rbBand.cxMinChild = 5;
rbBand.cyMinChild = 100;
rbBand.cyIntegral = 0;//0;
rbBand.cyChild = 0;
rbBand.cyMaxChild = 0;
rbBand.cxIdeal = 50;
if(SendMessage(CoolBar,RB_INSERTBANDA, -1,(LPARAM)&rbBand)==0)
{
OutputDebugString("出错");

}

if(SendMessage(CoolBar,RB_INSERTBANDA, -1,(LPARAM)&rbBand)==0)
{
OutputDebugString("出错");

}
问:我建了一个!ReBarWindow32 和两个 Band
怎么才能把工具栏放进去!

解决方案 »

  1.   

    这东西真的那么难?查了很多 sdk 的书也没看见!
      

  2.   

    rbBand.hwndChild=NULL;-》rbBand.hwndChild=TooBarHwnd;
      

  3.   

    我实验了!可是 工具拦还是在.最上面盖在 ReBarWindow32上面 比如第一行有两个 Band
    就把两个 Band 都盖上了!
      

  4.   

    to FlashElf(闪)兄:建立toolbar还是用这个吧。
    CreateToolbarEx,hWinMain,WS_VISIBLE or WS_CHILD or TBSTYLE_FLAT or TBSTYLE_TOOLTIPS or CCS_ADJUSTABLE,ID_TOOLBAR,0,HINST_COMMCTRL,IDB_STD_SMALL_COLOR,offset stToolbar,
    NUM_BUTTONS,0,0,0,0,sizeof TBBUTTON