Mostrando entradas con la etiqueta Menu. Mostrar todas las entradas
Mostrando entradas con la etiqueta Menu. Mostrar todas las entradas

martes, 4 de agosto de 2015

Modernizar la presentación de aplicaciones PowerBuilder

Muchas aplicaciones PowerBuilder han sido desarrolladas hace mucho tiempo y la clásica presentación es tener un menú principal asociado con un toolbar con iconos de las  principales opciones, para facilitar el acceso al usuario.

He desarrollado una presentación moderna para aplicaciones PowerBuilder utilizando los componentes Outlook Style Bar y Ribbon Style Menu de PB Ultimate Suite.

Utilizo Outlook Style Bar para obtener un Menú de estilo Outlook en PowerBuilder que reemplaza al clásico menú principal y permita abrir windows dentro de un marco mdi! o mdihelp!.


Utilizo Ribbon Style Menu para obtener un Menú estilo Ribbon en PowerBuilder el cual tiene las opciones comunes que toda ventana necesita como Nuevo, Editar, Guardar, Buscar, Vista Previa, Imprimir, etc.


De esta manera reemplazo al toolbar de opciones asociado a la ventana de la presentación clásica.


Presentación clásica:


Presentación moderna:


Cualquier consulta al correo jorgebarzola@gmail.com

Menú Ribbon en PowerBuilder

Ribbon Style Menu es un componente de PB Ultimate Suite que permite reemplazar el menú tradicional de PowerBuilder por un menú de estilo Ribbon.

PB Ultimate Suite tiene otro tipo de presentación el cual reemplaza ventanas por pestañas, muchas aplicaciones PowerBuilder tienen una gran cantidad de objetos windows, mi Framework cuenta con windows base o ancestras. Por experiencia les digo el usuario tiene mas facilidad en trabajar con windows.

He creado esta presentación utilizando el componente Ribbon Style Menu para modernizar solo la presentación de las aplicaciones PowerBuilder reemplazando el menú tradicional por el menú de estilo Ribbon.


Un objeto window de tipo mdi! o mdihelp! puede trabajar con un menú de estilo Ribbon y abrir windows dentro del marco.


Permite agrupar en pestañas opciones y seguir abriendo windows dentro del marco.


La estructura del menú de estilo Ribbon la define en un objeto menú y desde este codificar los objetos windows que desea abrir según la opción.


Consultas al correo jorgebarzola@gmail.com

Menu Outlook en PowerBuilder

Siempre se ha buscado la manera de que nuestras aplicaciones PowerBuilder se vean mejor, por tal muchos hemos puesto el menú de opciones en un objeto TreeView a un lado del window principal ya sea tipo mdi! o mdihelp!.

He utilizado el componente Outlook Style Bar de PB Ultimate Suite para poder dar a mi Menu TreeView el cual se carga desde un objeto Menú  el estilo del Menú Outlook.

Si se quiere separar por módulos se asocian objetos TreeViews y podriamos tener una presentación moderna en las aplicaciones PowerBuilder como muestra la siguiente imagen:


Consultas al correo jorgebarzola@gmail.com

martes, 9 de agosto de 2011

Asociar Menu a un Window por PowerScript

Un Menu Object puede ser asociado a un Window Object con la siguiente sintaxis:

w_nombre_window.ChangeMenu(m_nombre_menu)

domingo, 25 de julio de 2010

Función que carga Menú a un TreeView

Se debe crear una función en la ventana que contenga el Objeto TreeView, en mi caso mi función tiene por nombre of_loadmenu, con dos parametros:
am_menu de tipo Menu
ai_nodoarbol de tipo Integer
Copiar y Pegar:

Long li_i, li_Lugar ,li_TotSub, li_NuevoNodo
String ls_Nombre
TreeViewItem ltvi_TreeItem

FOR li_i = 1 TO UpperBound(am_menu.item)
//Elinina el simbolo & de la etiqueta del menu
li_lugar = Pos(am_menu.item[li_i].Text,"&")
IF li_lugar > 0 THEN
ls_Nombre = Replace(am_menu.item[li_i].Text,li_lugar,1,"")
ELSE
ls_Nombre = am_menu.item[li_i].Text
END IF
ltvi_TreeItem.label=ls_Nombre
//Para diferenciar submenus de opciones
li_TotSub = UpperBound(am_menu.item[li_i].item)
IF li_TotSub>0 THEN
ltvi_TreeItem.Bold = TRUE
ltvi_TreeItem.PictureIndex = 2
ltvi_TreeItem.SelectedPictureIndex = 2
ELSE
ltvi_TreeItem.Bold = FALSE
ltvi_TreeItem.PictureIndex = 3
ltvi_TreeItem.SelectedPictureIndex = 3
END IF
li_nuevoNodo = This.InsertItemLast(ai_nodoarbol,ltvi_TreeItem)
of_loadmenu(am_menu.item[li_i],li_nuevoNodo)
NEXT

Para seguir con el ejemplo, en el Evento Open de la Ventana:

m_menu_principal lm_Menu
lm_Menu = CREATE USING m_menu_principal

//Insertando Item Principal al TreeView
Integer li_Integer
li_Item = This.InsertItemLast(0, "Menu Principal", 1)


//Invocando a la Funcion of_load_menu para cargar el Objeto Menu al Objeto TreeView
of_loadmenu(im_Menu, li_Item)

Nota 1: Agradecimiento a Raúl Valverde quien ya que hace mucho tiempo atras dejo este código en el Foro de Sybase en Español.

Nota 2: Para el ejemplo se detalla crear la función en la ventana que contiene al Objeto TreeView pero ya depende de cada uno como implementar esta función en mi caso tengo un Standar User Object de tipo TreeView en el cual tengo esta función of_loadmenu.

lunes, 12 de octubre de 2009

MDI con Menu Treeview

Hola a todos, despues de mucho tiempo posteando, bueno nose si sera el nombre correcto (MDI con Menu Treeview) quizas sea mejor MDI dividido; bueno es lo de menos. Seguiremos los sgtes pasos:

1 - Suponiendo que ya tenemos nuestro window mdi (ejemplo w_frame)
2 - Suponiendo tambien que tenemos nuestro menu principal (ejemplo m_frame)
3 - Crearemos un Objeto Window (w_menu_treeview), tipo Child, al cual le agregaremos un objeto TreeView.

4 - Activar la propiedad LinesAtRoot del Objeto TreeView, esto nos permite mostrar el desplazamiento al estilo explorer.

5 - En el Evento Open de w_frame copiar y pegar este script:

//Se abre w_menu_treeview
Open(w_menu_treeview, This)

//Posicionando w_menu_treeview a un lado del frame
w_menu_treeview.Y = w_menu_treeview.Y + 112

6 - En el Evento Resize de w_frame copiar y pegar este script:

IF IsValid(w_menu_treeview) THEN
w_menu_treeview.Height = NewHeight - w_menu_treeview.Y - mdi_1.MicroHelpHeight
mdi_1.Width = NewWidth - w_menu_treeview.Width
mdi_1.Height = w_menu_treeview.Height
END IF

7 - En el Evento Constructor del Objeto TreeView de w_menu_treeview, solo por dar un ejemplo copiar y pegar este script:

Long ll_Expandir, ll_Item, ll_SubItem

ll_Item = tv_1.InsertItemLast(0,"Archivo", 1)

ll_SubItem = tv_1.InsertItemLast(ll_Item,"Window", 2)

ll_Expandir = tv_1.FindItem( RootTreeItem!, 0 )
tv_1.ExpandAll( ll_Expandir )

8 - En el Evento SelectionChanged del Objeto TreeView de w_menu_treview, tambien para el ejemplo copiar y pegar este script:

Integer li_Ind
String ls_MenuEtiqueta

TreeViewItem l_tvi

This.GetItem(NewHandle, l_tvi)

ls_MenuEtiqueta = l_tvi.Label

Choose Case ls_MenuEtiqueta
Case "Window"
OpenSheet(w_window, w_frame, 1, Original!)
End Choose


Disculpas por no subir imagenes, estoy en el trabajo y mi explorer es limitado. Pueden descargar el archivo ejemplo de:

http://www.megafileupload.com/en/file/143776/MDI-Treeview-rar.html

jueves, 17 de julio de 2008

CoolBar: Separador en ToolBar

No quiero desaprovechar la oportunidad para compartir con uds esa funcionalidad que nos permite el CoolBar, como explique en el post anterior (CoolBar: Texto en Icono del ToolBar) en el objeto no visual (nvo) n_srv_menu existe una funcion llamada of_setmenuiteminfo donde no tan solo se controla o se codifica que el icono del ToolBar tenga texto, sino que tambien que el ToolBar pueda contar con un separador. Tenemos que escribir en la propiedad Tab del sub item (para el ejemplo m_ordendecompra) lo siguiente:
nt=1 nos permitira tener un separador, pero yo a la vez tambien quiero que ese sub item tenga texto en el icono asi que le doy coma (,) st=1, y listo.

CoolBar: Texto en Icono del ToolBar

Hace unos días atras un compañero de Mexico, se agrego a mi msn y me pregunto sobre el CoolBar, que lo habia implementado en su aplicativo (desarrollado en PowerBuilder 9.0) y que estaba de lo mejor pero que queria colocar texto a los iconos del ToolBar, me dijo es posible eso, claro que es posible:
Tenemos que escribir en la propiedad Tab del sub item (para el ejemplo m_cliente) lo siguiente:
Si vamos al objeto no visual (nvo) n_srv_menu dentro de la funcion de este objeto llamada of_setmenuiteminfo, veremos un codigo donde nos podremos dar cuenta que ahi se codifica la funcionalidad de esta opcion.

martes, 6 de mayo de 2008

Utilizando Coolmenu y Fondo en MDI

Habia comentado ya sobre el Coolmenu y el estilo tan simpatico que le da al menu, tambien habia comentado de como colocar una imagen de fondo en un MDI, bueno junte ambos (bueno en mis aplicativos trabajo con ellos) y lo baje a este enlace para compartir con todos uds amigos desarrolladores PowerBuilder que les gusta lo diferente y lo bonito en nuestros aplicativos y tambien para que si otros que no, se animen a usarlo:

http://www.file-upload.net/download-836052/Coolmenu---Wallpaper.rar.html

lunes, 5 de mayo de 2008

Cerrar todas la ventanas activas en un MDI

Para cerrar todas las ventanas activas en un MDI, copias este codigo en el evento clicked de un item del menu:

Window lw_ActiveSheet

lw_ActiveSheet = ParentWindow.GetActiveSheet()

Do While IsValid(lw_ActiveSheet)

Close(lw_ActiveSheet)
lw_ActiveSheet = ParentWindow.GetActiveSheet()

Loop

sábado, 26 de abril de 2008

Coolbar


Aart Onkenhout el creador de Coolmenu, nos deja el Coolbar un componente muy bueno para tener nuestro ToolBar al estilo Office 2003, lo encontramos disponible para la version 9.0 y 10.0 de PowerBuilder en:

http://pbsite.milente.nl/coolbar.html

Coolmenu

Aart Onkenhout es el creador de Coolmenu (Actualmente Coolmenu 2.5 Build 175), quien nos permite tener un menu al estilo Office 2003, disponible en las versiones 9.0, 10.0, 10.5 y 11.0 de PowerBuilder, es una alternativa muy buena para decorar nuestras apliaciones, lo encontraran en esta web:

http://pbsite.milente.nl/

viernes, 25 de abril de 2008

Toolbar Office 2003

Este articulo es muy bueno, lo encontre hace mucho tiempo atras y lo he ido utilizando me agrado mucho espero que les agrade tambien y puedan implementarlo en sus aplicaciones, les dejo el link:

http://pbdj.sys-con.com/node/140739

sábado, 29 de marzo de 2008

Apariencia Office 2003 en Objeto Menu

Desde la version 10.5, el objeto menú puede tener la apariencia de los menús de Office 2003, como...?, de la siguiente manera:

Click en el nombre del objeto menú y elegimos contemporarymenu! que se encuentra en el Tab Appearance de la ventana de propiedades.