1.插入->资源->Toolbar
2.定义工具条ID号
3.关键的步骤是如何在窗口中显示出工具条,求代码参考?

解决方案 »

  1.   


    HWND CreateMainToolbar(HWND hWnd)
    {
    HIMAGELIST hImageList; HWND hWndToolbar = CreateToolbarEx(hWnd,
                                      WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS,// | TBSTYLE_FLAT,
                                      IDC_MAINTOOLBAR,
                                      NUMIMAGES,
                                      hInst,
                                      IDC_MAINTOOLBAR,
                                      tbButton,
                                      sizeof(tbButton)/sizeof(TBBUTTON),
                                      BUTTONWIDTH,
                                      BUTTONHEIGHT,
                                      IMAGEWIDTH,
                                      IMAGEHEIGHT,
                                      sizeof(TBBUTTON));
    if(!hWndToolbar)
    return NULL; SendMessage(hWndToolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
    SendMessage(hWndToolbar, TB_SETEXTENDEDSTYLE, 0, (LPARAM)(DWORD)(TBSTYLE_EX_DRAWDDARROWS)); hImageList = ImageList_Create(32, 32, ILC_COLOR32 | ILC_MASK, sizeof(tbButton)/sizeof(tbButton[0]), sizeof(tbButton)/sizeof(tbButton[0])); for(unsigned int i = 0 ; i <= sizeof(tbButton)/sizeof(tbButton[0]) ; i++)
    {
    HICON  hIcon = LoadIcon(hLib, MAKEINTRESOURCE(IDI_ICON_DATABASE + i));
    ImageList_AddIcon(hImageList, hIcon);
    DestroyIcon(hIcon);
    }
    SendMessage(hWndToolbar, TB_SETIMAGELIST, 0, (LPARAM)hImageList); SendMessage(hWndToolbar, TB_SETBITMAPSIZE, 0, (LPARAM)MAKELONG(32, 32));
    SendMessage(hWndToolbar, TB_AUTOSIZE, 0, 0); return hWndToolbar;
    }
      

  2.   

    我也找不到toolbar这个资源,都是像1楼那样直接用代码来插入toolbar的,但是新建一个空白的工程反而可以找到toolbar这个资源很不解
      

  3.   

    toolbar是MFC自定义的资源类型其中包含图片和ID信息,不属于SDK预定义的资源类型。SDK用工具栏需要自己编码调用工具栏的消息接口。
      

  4.   

    toolbar不是通用控件吗,是WINDOWS封装的一个控件,相当于WINDOWS下的一个子窗口,实现它在case create:消息中用createwindowEx实现,具体实现就遇到麻烦了,我想在资源脚本中插入TOOLBAR,然后通过代码在窗口中实现