lunes, 25 de septiembre de 2017

(Nuevo) - Easy Ribbon Builder

EasyRibbonBuilder (erb) es una herramienta para programadores de Visual FoxPro 9.0 que les permite diseñar un menu estilo Ribbon con mayor facilidad mediante un builder o constructor que realiza todo el trabajo de enlazar y armar el Ribbon en tiempo de Ejecución.

La herramienta fue pensada para minimizar al máximo la intervención del programador en el diseño del Ribbon. Todos los que trabajamos con el Zorro más de una vez nos hemos topado con clases Ribbon vistosas las cuales nos gustaria implementar en nuestras aplicaciones, siendo un ejemplo claro la muy conocida clase FoxRibbonClass del fenecido pero muy recordado Guillermo Carrero (Q.E.P.D); ésta librería resulta excelente para comenzar en el mundo Ribbon, reconozco que su arquitectura o diseño resulta un poco rudimentaria para los que les gusta trabajar con Builders y mucho mas para los que estamos acostumbrados a que el mismo VFP desarrolle cosas por nosotros con sus famosos Wizards, no obstante su aprendizaje no tomaría mas de 5 horas para lograr dominar el proceso de construccion manual del ribbon, aunque actualmente unos colegas han estado desarrollando una especie de migrador de menu nativo MPR a FoxRibbon, incluso yo hice un migrador de formularios a FoxRibbon llamado AnyToFoxRibbon, es decir, esta clase ha inspirado a muchos tanto para darle mas vida a través de soluciones como migradores hasta incluso crearse sus propios menu Ribbon basándose en su diseño, dicho sea el caso de VFPRibbonTab contenida en este mismo blog.

Retomando el caso EasyRibbonBuilder

Erb trabaja con espacios de trabajo o WorkSpace donde aloja una lista de archivos que son los necesarios para comenzar a trabajar en el proyecto.


Este caso resulta bastante útil para aquellos que comienzan un proyecto de cero pero, ¿Qué hay de los proyectos regulares?, para este caso solo deben hacerse unos pequeños pasos que son:

  1. Archivo Main.PRG: lo mejor para este archivo es copiarse la información contenida ya que no es mucha.
El archivo está documentado e indica los pasos a realizar para mudar el codigo a nuestro archivo principal de nuestro proyecto o bien para ejecutarlo y dejarlo como Main.PRG

      2. Carpeta Resource: copiarse toda la carpeta resource y pegarla en la raiz de nuestro proyecto.





       3. Carpeta Vcx: finalmente copiar bien sea la carpeta o mover los 2 archivos Vcx's a nuestra carpeta de bibliotecas del proyecto.


Bien, sea cual sea el caso, el siguiente paso es compilar el proyecto y ejecutar el EXE.


Para testear la version DEMO:

https://github.com/Irwin1985/EasyRibbonBuilder

Primeros pasos: (seguir los videos en el siguiente PlayList)

EasyRibbonBuilder PlayList

Para consultas, soporte, precios, mejoras, etc.

rodriguez.irwin@gmail.com

Gracias por leer esta entrada...!

Hasta la próxima...!





miércoles, 16 de agosto de 2017

Ocultar un TAB de un PageFrame

En alguna oportunidad un colega me solicito un ejemplo de cómo ocultar un tab desde un PageFrame y le hice el siguiente ejemplo:

En realidad no existe una propiedad dentro del Page que pueda ocultarlo sino más bien en el ejemplo lo que se hace es Agregar y/o Quitar los pages desde el mismo PageFrame haciendo uso de ADDOBJECT / REMOVEOBJECT.

Además se debe cambiar la forma tradicional de diseñar las Pages ya que para poder realizar el efecto se deben agregar las Pages en una clase (la del ejemplo PAGETEMPLATES.VCX puede servir) VCX y llamarlas desde el control PAGEFRAME.

Imagen 1 - Clase PageTemplates.Vcx



Como se puede observar en la imagen 1, debemos crear nuetras páginas basadas en la clase page para que puedan ser incluidas en el pageframe en tiempo de ejecución. Veamos paso a paso como crear un page:

Paso 1 - Crea una nueva clase basada en un Page.

Imagen 2 - Crear una Página basada en la clase Page

Paso 2 - Agregar controles al Page

Imagen 3 - Agregando controles al Page

Paso 3 - Agregar / Ocultar el Page


Imagen 4 - Agregando el Page5 al PageFrame

Imagen 5 - Agregar / Ocultar Page


Métodos addPage() / removePage()

Dentro del formulario se encuentran dos métodos que se encargan de agregar y remover las pages del pageFrame.

Imagen 6 - Método addPage()


Los parámetros del método addPage() son los siguientes:

  1. tcPageCaption = Descripción o nombre a mostrar del Page
  2. tcPageName    = Nombre del Page (No es el nombre de la clase sino el name del page)
  3. tcPageClass     = Nombre de la clase (samplePage5 para nuestro ejemplo)
  4. tnPageOrder    = Número de órden del page.
Imagen 7 - Método removePage()


El método removePage() recibe como parámetro el nombre del page asociado al pageFrame.

https://github.com/Irwin1985/VFPHideTab