Programa interface_screen.prg

16/01/2019

Actualizado el 08/04/2020

 

Si usted se encuentra en esta página es probable que quiera utilizar la cinta FoxRibbon en la pantalla principal de Visual FoxPro.

 

¿Se puede utilizar la cinta FoxRibbon en la pantalla principal Screen de Visual FoxPro?

Esta es una pregunta que nos hacemos todos los usuarios de esta cinta Ribbon. Con FoxRibbon Camf si es posible. El ejemplo que muestro es una de sus posibilidades, creando todos los objetos mediante programación, pero también puede crear la pantalla principal de nuestra aplicación de una forma más visual. La mayor potencia de un lenguaje de programación es la mente de quien lo utiliza.

Nunca piense que cualquier FoxRibbon, solo con añadir estos objetos, va a funcionar en Screen. Para ello se ha reescrito gran parte del código de las clases FoxRibbon y se han creado otras nuevas como _multitabs con sus derivados ribbonc, _pageframec y _menutabs.

 

¿Qué es mejor utilizar, ribbon o ribbonc?

La clase ribbon ha sido muy elaborada, sobre todo en la configuración de los colores de sus pestañas y la nueva clase ribbonc tiene más prestaciones, como colocar pestañas laterales e inferiores y ocultar la cinta Ribbon pulsando con el botón derecho en una pestaña.

Usted puede elegir la que mas se adecue a sus necesidades, es algo muy personal. Son clases con código totalmente diferente pero con el mismo cometido.

 

¿Cómo llegamos hasta aquí?

En el programa main.prg de ejemplo, que se entrega con FoxRibbon Camf, tenemos la variable lógica llCamf_Screen = .T. lo que significa que usted quiere ver los ejemplos que trabajan en la ventana principal de Visual FoxPro conocida como Screen. Si el valor fuese .F. veríamos los ejemplos que funcionan en un formulario de nivel superior como ventana principal.

Además main.prg hace la llamada, que puede ver en la siguiente línea, enviando el parámetro llCamf_Ribbonc = .T. (Ver ejemplo utilizando ribbonc) o llCamf_Ribbonc = .F. (Ver ejemplo utilizando ribbon)

Llamada de main.prg -> DO INTERFACE_SCREEN WITH llCamf_Ribbonc

Ahora ya estamos dentro del programa interface_screen.prg.

 

¿Qué nos encontramos en el programa interface_screen.prg?

Siguiendo nuestro flujo de trabajo, encontramos nuevamente variables lógicas.

PARAMETER tlCamf_Ribbonc &&-> Recibimos el parámetro lCamf_Ribbonc = .F. o .T.
ADDPROPERTY(_SCREEN, "Camf_Engine") &&->Añadimos la propiedad Camf_Engine
LOCAL llTitleBarWin, llFunction, llSidebar, llGradient, llTitleBar, llStatusBar, llRibbon, llStartButton, llTitleBar_Little, llLanguage, lcEngine ,llOldLock

llTitleBarWin = .F. && Activar Barra de título Windows. Si FoxRibbon ya tiene una barra propia, la barra Windows se desactivará igualmente

llFunction = .T. && Activar CamfFunction -> Function
llSidebar = .T. && Activar Sidebar
llGradient = .T. && Activar Gradiente
***lcCamf_Engine = .F. && Activar CamfEngine -> Camf_Engine. no existe la variable local. Lo activa .oRibbon.Camf_Engine_Use -> A título informativo. No intente activarla
llTitleBar = .T. && Activar TitleBar. Desactivado, pues lo activa Ribbon en esta configuración
llStatusBar = .T. && Activar StatusBar. Desactivado, pues lo activa Ribbon en esta configuración
llRibbon = .T. && Activar Ribbon
llStartButton = .T. && Activar StartButton. Desactivado, pues lo activa Ribbon en esta configuración
llTitleBar_Little = .T. && Utilizar barra de título pequeña. Normalmente se utiliza en Ribbon cuando no tenemos una barra de título
llLanguage = .F. && Activar cambio de idiomas

Los valores que usted ve aquí son los valores por defecto que se entregan con FoxRibbon Camf a fecha 20-01-2019

Ahora ya puede ver mas ejemplos de funcionamiento con solo cambiar el valor de .T. a .F. o viceversa.

Cambie los valores y genere de nuevo la aplicación para comprobar los resultados.

 

Bueno, yo mismo voy a poner los ejemplos y los resultados utilizando ribbonc cuando se utilice. Haga clic en las imágenes de la derecha para ampliar:

 

Ejemplo 1

 

Ejemplo 2

 

 

Tanto en el primer ejemplo como en el segundo haga la siguiente observación. Entre en propiedades de estilo -> otos y fíjese como los botones de gradiente están desactivados debido a que no tenemos un gradiente.

 

Ejemplo 3

Entre en propiedades de estilo -> otos y fíjese como los botones de gradiente están activados debido a que ya tenemos un gradiente.

 

Ejemplo 4

Ahora ya hemos incluido la barra de estado. Esto ya va tomando un poco de forma.

En la barra de estado personalizada tenemos información de la versión de FoxRibbon Camf que estamos utilizando Mode: Screen, Engine: Camf_Engine y del Estilo que estamos utilizando.

 

Ejemplo 5

En la librería SampleRibbon utilizamos la clase:

  • my_ribbonc_screen -> ribbonc
  • my_ribbonc_screen_1 es una copia de la anterior en la que se ha incluido una minibarra de título. La minibarra puede coexistir con una barra de título pero detectará su presencia y le dará preferencia a la barra de título. Está ahí para hacer pruebas. También puede crear sus objetos en ella de forma visual, pero si los crea en la clase los tiene que desactivar en este programa.

También puede utilizar las siguientes propiedades de Ribbon o Ribbonc:

  • yourstarbutton: Para incluir un botón de inicio
  • yourstatusbar: Para incluir una barra de estado
  • yourtitlebar: Para incluir una barra de título

Pero no olvide desactivar los objetos que incluya en este programa. Haga todas las pruebas necesarias y saque sus propias conclusiones.

 

  • my_ribbon_screen -> ribbon

 

Ejemplo 6

 

Ahora pruebe lo siguiente:

Ya que estamos utilizando la nueva clase ribbonc haga clic con el botón derecho en una pestaña y se ocultará la cinta. No se ha incluido la posibilidad de hacerlo con la clase ribbon

 

¿Ya está todo?

Por supuesto que no. No hemos tocado llTitleBar_Little que activa a la nueva clase _TitleBar_Little y además lo tenemos activado y no lo vemos. Es indiferente en el ejemplo, pues para que funcione tenemos que tener desactivada la barra de título. Vamos a probarlo ahora mismo:

 

Ejemplo 7

Ya vemos como funciona la nueva clase _TitleBar_Little. Sin una barra de titulo difícilmente podemos mover nuestra ventana. Si amplia la imagen verá una minibarra a la derecha con sus correspondientes botones:

Pulse en el nuevo icono de la izquierda que le permitirá mover el formulario.

En el próximo ejemplo desactivamos la minibarra de título.

 

Ejemplo 8

Aquí tenemos el resultado. Tenemos una salida en el botón de inicio.

 

¿Cómo hago para que los ejemplos de Screen se inicien a pantalla completa?

llmaximize = .F. && Screen maximizado al iniciar. Si activa esta opción le recomiendo desactivar el formulario de entrada forminit


Ventajas de utilizar Screen como pantalla principal

Si usted utiliza los formularios main.prg e interface_screen.prg como plantilla le va a ser muy fácil crear la ventana principal en Screen. Tiene que crear sus propios objetos y sustituirlos. Si todo esto lo hace en un formulario y quiere quitar un objeto, lo puede hacer, pero si lo quiere volver a insertar ya se tiene que acordar un poco mas del nombre del mismo, mientras que aquí es cuestión de poner una .T. o una .F..

 

llLanguaje = .F. porque el objeto ya está creado en la clase my_ribbonc_screen

llTitleBarWin =.F. Si el valor es .T. activaríamos la barra de título de Windows siempre y cuando tengamos las barras FoxRibbon desactivadas.

 

¿Cómo poner un título a nuestra barra de títulos?

Aquí en la propiedad Caption

 

Creo que le he contado todos los secretos de este programa y usted ya esta preparado para utilizar FoxRibbon en Screen.

Recuerde: La mayor potencia de un lenguaje de programación es la mente de quien lo utiliza.

 

 

Cualquier duda o pregunta: foxribbonlib@gmail.com

 

Más información

El programa main.prg

El programa init_sidebar_screen.prg

El programa salir.prg

 


 

Referencias

Pagina de FoxRibbon Camf: http://visualfoxpro.webcindario.com/foxribbon/foxribbon.php

Autor: Camf

 


 

 

 



error: Contenido protegido