Docking System acts as a replacement to PowerBuilder's traditional MDI frame window. It gives users a tabbed interface to navigate between open windows. Additionally, it allows you to dock and pin commonly used functions to the top, bottom, left, or right sides of the window.
Other features include:
Note: Any window that you open in Docking System should start off as being invisible. Please uncheck the Visible property in the IDE for all windows that will be opened in Docking System. Also, I found better success when the window I was opening was of type child.
//Resize Event of window that contains the control //Manually size the control in the MDI frame window uo_PowerDock.Resize(THIS.WorkSpaceWidth() - 8, THIS.WorkSpaceHeight() - MDI_1.MicroHelpHeight - uo_toolbarstrip.Height + 4) //Move event of window that contains the control //Notify Docking System that the window has moved uo_PowerDock.of_FrameMoved() //Open Event of window that contains the control //Set the menu that will display all open documents (and the "More Windows" window if needed) uo_PowerDock.of_SetMenu(m_main.m_window) //Open documents in the new container uo_PowerDock.of_OpenDocument(iuo_5, "About", 'Help!') uo_PowerDock.of_OpenDocument(iw_windowtest, "My Window", 'Window!') //Activate a document uo_PowerDock.of_ActivateDocument(iuo_5) //Add items to the dock windows uo_PowerDock.of_AddDockItem(uo_PowerDock.RIGHT, uo_mle1, "My Right Pane", 'ListBox!') uo_PowerDock.of_AddDockItem(uo_PowerDock.LEFT, uo_xplistbar, "XPListBar", 'TreeView!') uo_PowerDock.of_AddDockItem(uo_PowerDock.BOTTOM, uo_mle3, "Output", 'ListBox!') uo_PowerDock.of_AddDockItem(uo_PowerDock.TOP, uo_mle5, "Top Pane", 'ListBox!') //Set focus to specific dock items uo_PowerDock.of_SetDockItemFocus(uo_xplistbar) //Auto dock the left dock window uo_PowerDock.of_SetDock(uo_PowerDock.LEFT, TRUE) //Set some initial sizes uo_PowerDock.of_SetDockSize(uo_PowerDock.LEFT, 875) uo_PowerDock.of_SetDockSize(uo_PowerDock.RIGHT, 875) uo_PowerDock.of_SetDockSize(uo_PowerDock.TOP, 500) uo_PowerDock.of_SetDockSize(uo_PowerDock.BOTTOM, 500)