Okay, so I started to look at this again, and some of the issues are coming back to me.
1) The MS floating toolbars aren't really child windows, at least not when they're floating. They can be moved partially outside the main (parent) window, but they always are in front of the parent. I did some research and realized that this effect could be achieved by setting the .Owner field of the floating toolbar to be equal to the Parent. When the toolbar is docked, I think it switches to being a child of the parent via .MdiParent. I think I have this pretty well covered.
2) When the toolbar is floating, the .FormBorderStyle = SizableToolWindow, but when it docks, it appears to be .FormBorderStyle = None, with a custom drawn title bar, and the docked form is actually resizabe. What to do about this I'm not sure--because .FormBorderStyle = None does not allow resizing, but all the styles that allow resizing give you a standard title bar. I'm wondering if I can do style = None, and then make an unmanaged call to SetWindowLong to set a style such as WS_SIZEBOX to get a custome window style. But I was unsure of that even, because the docs on SetWindowLong say they don't have an effect if you set the style after the window is created (except in certain limited cases). Any ideas on this? For the custom title bar, I was just going to add a panel, have it dock to the top, and add a close button, and wire it so that setting the text adds text in that panels client area.
3) Not really a problem, but the form doesn't actually dock until the mouse is over top of the edge of the main window (it doesn't dock when the edge of the floating toolbar is next to the main window). So I wasn't sure here what handler to use to trap this condition. Basically I have the mouse down, and dragging the floating toolbar, and the mouse coordinate equals the main window edge at some point. Any clues on what handler I need to use?
4) Another different behavior of these floating toolbars is that when you move them, the actual toolbar isn't moved--it stays where it's at until the mouse up event. Instead, you get a rectangle outline of where the toolbar will end up--so it's this outline of the toolbar that you actually see snap into place. The same goes for a docked toolbar that you are un-docking--the actual toolbar stays docked, but you see this outline of the undocked toolbar that you can move around. And when it finally gets the mouse-up event, then the toolbar actually undocks. To be honest, I have absolutely no clue how to get this effect--is this some standard effect or is it neat custom code that MS came up with? Any ideas on how to reproduce it?
5) And then there's the push-pin button at the top, which adds even more custom behaviours that I don't even want to think about right now. I'll be happy if I can get the other stuff.