Ok - I'm getting somewhere:) I've managed to set a toolbar direct - but it causes "oddness"...
As a base I'm going to try and get the rebar example in the page below working: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/rebar/rebar.asp The C code (below) to create this toolbar is straightforward - and from my (basic) understanding there should be no difficulty reproducing this example in Win32::GUI. HWND WINAPI CreateRebar(HWND hwndOwner) { REBARINFO rbi; REBARBANDINFO rbBand; RECT rc; HWND hwndCB, hwndTB, hwndRB; DWORD dwBtnSize; INITCOMMONCONTROLSEX icex; icex.dwSize = sizeof(INITCOMMONCONTROLSEX); icex.dwICC = ICC_COOL_CLASSES|ICC_BAR_CLASSES; InitCommonControlsEx(&icex); hwndRB = CreateWindowEx(WS_EX_TOOLWINDOW, REBARCLASSNAME, NULL, WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS| WS_CLIPCHILDREN|RBS_VARHEIGHT| CCS_NODIVIDER, 0,0,0,0, hwndOwner, NULL, g_hinst, NULL); if(!hwndRB) return NULL; // Initialize and send the REBARINFO structure. rbi.cbSize = sizeof(REBARINFO); // Required when using this // structure. rbi.fMask = 0; rbi.himl = (HIMAGELIST)NULL; if(!SendMessage(hwndRB, RB_SETBARINFO, 0, (LPARAM)&rbi)) return NULL; // Initialize structure members that both bands will share. rbBand.cbSize = sizeof(REBARBANDINFO); // Required rbBand.fMask = RBBIM_COLORS | RBBIM_TEXT | RBBIM_BACKGROUND | RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE; rbBand.fStyle = RBBS_CHILDEDGE | RBBS_FIXEDBMP; rbBand.hbmBack = LoadBitmap(g_hinst, MAKEINTRESOURCE(IDB_BACKGRND)); // Create the combo box control to be added. hwndCB = CreateComboBox(hwndRB); // Set values unique to the band with the combo box. GetWindowRect(hwndCB, &rc); rbBand.lpText = "Combo Box"; rbBand.hwndChild = hwndCB; rbBand.cxMinChild = 0; rbBand.cyMinChild = rc.bottom - rc.top; rbBand.cx = 200; // Add the band that has the combo box. SendMessage(hwndRB, RB_INSERTBAND, (WPARAM)-1, (LPARAM)&rbBand); // Create the toolbar control to be added. hwndTB = CreateToolbar(hwndOwner, dwStyle); // Get the height of the toolbar. dwBtnSize = SendMessage(hwndTB, TB_GETBUTTONSIZE, 0,0); // Set values unique to the band with the toolbar. rbBand.lpText = "Tool Bar"; rbBand.hwndChild = hwndTB; rbBand.cxMinChild = 0; rbBand.cyMinChild = HIWORD(dwBtnSize); rbBand.cx = 250; // Add the band that has the toolbar. SendMessage(hwndRB, RB_INSERTBAND, (WPARAM)-1, (LPARAM)&rbBand); return (hwndRB); } ----- Original Message ----- From: Stephen Pick To: Win32-GUI Sent: Thursday, February 19, 2004 12:45 PM Subject: RE: [perl-win32-gui-users] Rebar and toolbar revisited Hi, Can you not set the parent to be the handle of the rebar section that you're adding the toolbar into? I know not much about rebars but I do know that they have HWNDs that would satisfy a toolbars need to have a parent window. Steve