Modernice sus aplicaciones PowerBuilder

Docking System

El Docking System actúa como un remplazo del tradicional MDI frame window de PowerBuilder. Este control brinda a los usuarios una interfaz con pestañas que le permite navegar entre las ventanas que están abiertas. Además, le permite incrustar funciones comunes en el lado derecho, izquierdo, inferior o superior de las ventanas.

Otras funcionalidades de este control incluyen:

  • Pestañas de documentos flotantes.
  • Cambie de manera dinámica el tamaño de los paneles dock y de los elementos incrustados en las ventanas.
  • Eventos trigger en el documento(s) activos.
  • Use la tradicional MDI en lugar de una interfaz con pestañas.


Implementación

 

Nota: Cualquier ventana que usted abra en un sistema dock debe comenzar por ser invisible. Favor de no desactivar la propiedad visible en el IDE para todas las ventanas que se abrirán con este sistema. También, se obtiene un mejor resultado cuando la ventana que desee abrir es de tipo “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)