HWND myRebar = CreateWindowEx(WS_EX_TOOLWINDOW, REBARCLASSNAME, 0, 
  WS_VISIBLE | WS_CHILD | WS_BORDER | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | CCS_NODIVIDER | CCS_NOPARENTALIGN | RBS_VARHEIGHT | RBS_BANDBORDERS, 
  0, 0, 0, 0, myMainWindow, (HMENU)1, GetModuleHandle(0), 0);  myWindowToolbar.hwnd = CreateWindowEx(0, TOOLBARCLASSNAME, 0, WS_VISIBLE | WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS | BTNS_AUTOSIZE | CCS_NORESIZE, 0, 0, 0, 0, myMainWindow, (HMENU)1, GetModuleHandle(0), 0);
SendMessage(myWindowToolbar.hwnd, TB_SETEXTENDEDSTYLE, 0, (LPARAM)TBSTYLE_EX_DRAWDDARROWS | TBSTYLE_EX_HIDECLIPPEDBUTTONS);
SendMessage(myWindowToolbar.hwnd, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
SendMessage(myWindowToolbar.hwnd, TB_SETBITMAPSIZE, 0, MAKELONG(IconSize, IconSize));
SendMessage(myWindowToolbar.hwnd, TB_SETINDENT, 3, 0);
SendMessage(myWindowToolbar.hwnd, TB_SETIMAGELIST, 0, (LPARAM)ImageList_Create(IconSize, IconSize, ILC_COLOR32 | ILC_MASK, 0, 100));
ZeroMemory(&myToolbarInfo, sizeof(myToolbarInfo));
myToolbarInfo.cbSize = sizeof(REBARBANDINFO);
myToolbarInfo.fMask = RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE | RBBIM_IDEALSIZE | RBBIM_ID; 
myToolbarInfo.fStyle = RBBS_USECHEVRON | RBBS_NOGRIPPER;
myToolbarInfo.hwndChild = myWindowToolbar.hwnd;
myToolbarInfo.wID = 1;
myToolbarInfo.cxMinChild = 0;
myToolbarInfo.cyIntegral = 1;
myToolbarInfo.cyMinChild = 44;
myToolbarInfo.cyMaxChild = 44;
myToolbarInfo.cx = 0;
myToolbarInfo.cxIdeal = 0;
int iRet = 
SendMessage(myRebar, RB_INSERTBAND, (WPARAM)0, (LPARAM)&myToolbarInfo);
上面的代码片断最后的iRet返回值总是为0,请问大家哪有会有问题呢?

解决方案 »

  1.   

    GetLastError()函数看看返回值什么??????
      

  2.   

    LPVOID lpMsgBuf;
    ::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,0,GetLastError(),
    MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),(LPTSTR)&lpMsgBuf,0,NULL);
    MessageBox((LPTSTR)lpMsgBuf,_T("GetLastError"),MB_OK | MB_ICONINFORMATION);
    ::LocalFree(lpMsgBuf);
    放在你最后调用sendmessage的地方看看,弹出什么错误提示
    有可能是你myRebar是空的,或者myToolbarInfo设置错误,感觉是myToolbarInfo的问题··
      

  3.   

    http://topic.csdn.net/t/20040506/16/3036473.html类似贴··LZ可以参考下·
      

  4.   

    在这句之后GetLastError()=8;其它地方都没出错,都是有值的
      

  5.   

    补充4楼:
    SendMessage(myWindowToolbar.hwnd, TB_SETIMAGELIST, 0, (LPARAM)ImageList_Create(IconSize, IconSize, ILC_COLOR32 | ILC_MASK, 0, 100));这句
      

  6.   

    楼主要调用API看看  ::SendMessage