Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FoxRibbon PDF
FoxRibbon PDF
Abril de 2012
INDICE
¿Qué es FoxRibbon? ................................................ 1
¿Cómo hago para cambiar el color del texto y el tipo de letra? .... 10
¿Cómo creo mis propias clases visuales para mostrar las opciones? . 19
¿Qué es FoxRibbon?
Es una librería de clases .VCX que puede ser utilizada por los programadores de
Visual FoxPro y que fue realizada 100% en este lenguaje. Sirve para mostrar en las
aplicaciones menús de tipo ribbon y además provee una serie de herramientas para
mejorar el aspecto visual de las aplicaciones.
-1-
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
DO SYSTEM.APP
if VarType(_Screen.oRibbon) == "O"
_Screen.RemoveObject("oRibbon")
endif
_Screen.NewObject("oRibbon", "RibbonSettings")
with _Screen.oRibbon
.Language = "Español"
*--Calendario
.c_FirstDayWeek = 2
*--Días feriados de la semana
.c_1SunHoli = .T.
.c_2MonHoli = .F.
.c_3TueHoli = .F.
.c_4WedHoli = .F.
.c_5ThuHoli = .F.
.c_6FriHoli = .F.
.c_7SatHoli = .T.
endwith
-2-
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
-3-
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
-4-
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
6. Si ahora haces click sobre esa clase con el botón derecho, eliges
“Properties…” y luego “Other”, verás lo siguiente:
YourStatusBar sirve para indicar el nombre de la clase que muestra una barra de
estado (si hay una barra de estado, por supuesto)
-5-
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
O sea, nada muy útil hasta ahora, pero iremos avanzando hasta tener un menú
totalmente funcional.
-6-
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
-7-
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
Queremos ver como nos está quedando, así que ejecutamos el formulario y
vemos esto:
Muy simple, esos botones son los que tienes definidos en las propiedades de tu
formulario, si no quieres verlos entonces simplemente les colocas el valor .F.
Recuerda: los botones que serán visibles los determinas en las propiedades de tu
formulario.
-8-
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
En este caso, haces click con el botón derecho sobre el control Ribbon1, luego
en su propiedad YourTitleBar colocas el nombre de una clase que muestra la barra de
títulos. Si usas la librería de clases que se entrega con FoxRibbon entonces podrías usar
“MyTitleBar”, como se ve en la siguiente captura de pantalla:
O podrías usar tu propia clase que muestre una barra de títulos. Puedes revisar
justamente la clase MyTitleBar para tener una idea clara de cómo hacerla.
¿Por qué usar una barra de títulos propia y no usar simplemente la que tienen los
formularios?
Porque a tu propia barra de títulos la puedes PERSONALIZAR a tu propio
gusto, poniéndole todas las opciones y los iconos que desees.
En un programa que estéticamente deseas que sea bello (por eso justamente usas
la clase FoxRibbon) tener en cuenta todos los detalles es importante. Y una barra de
títulos personalizada ayuda mucho.
-9-
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
Porque sus valores están definidos dentro del método ReDraw() de la clase
RibbonLabel. Así que si quieres cambiarlos tendrás que escribir en el método ReDraw()
de RibbonLabel1 lo siguiente:
DODEFAULT()
WITH THIS
.FORECOLOR = IIF(.lFontAlternate, _SCREEN.oRibbon.FontColorAlternate, RGB(x,x,x))
.FONTNAME = "Tahoma"
ENDWITH
Donde reemplazarías RGB(x, x, x) por los colores que te plazcan, por ejemplo:
RGB(255, 255, 0)
- 10 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
De forma muy similar a como le has agregado una barra de título, también tienes
dos formas:
3. Haces click sobre el formulario (abajo de él, en un lugar libre por supuesto)
4. Haces click con el botón derecho sobre la barra de estado que acabas de
agregar (la cual tendrá por nombre: _statusbar1)
5. Eliges la opción “Edit”
6. Haces click sobre RibbonLabel1
7. Y en la ventana de Properties, en la propiedad “Caption” escribes el texto
que deseas que se muestre en la barra de estado, por ejemplo:
- 11 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
9. Al igual que como hiciste con la barra de títulos, le puedes cambiar el tipo de
letra, el color de las letras, el tamaño, etc.
10. Si quieres cambiar el texto desde un método de tu formulario, entonces
puedes escribir algo como:
ThisForm._statusbar1.RibbonLabel1.Caption = "Mensaje en la Barra de Estado"
O como:
ThisForm._statusbar1.RibbonLabel1.Caption = DtoC(Date())
En este caso:
1. Click sobre Ribbon1
2. En la propiedad “YourStatusBar” escribir el nombre de una clase que
muestre una barra de estado. Puedes usar MyStatusBar o alguna otra
de tu propia creación.
- 12 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
Además, para que cada una de las páginas de MyStartButton puedan ser
mostradas tendrás que agregarlas a tu clase, si es que ya no están en ella.
- 13 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
- 14 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
5. Click con el botón derecho sobre RibbonTab1 (el control que acabamos de
agregar)
6. Opción “Edit”
7. Click sobre RibbonLabel1 (la etiqueta que está dentro de ese control)
8. Cambiarle la propiedad “Caption”. En este ejemplo se puso la palabra
“Archivos”
- 15 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
Como podemos ver, nuestro menú ya está tomando forma, de a poco va siendo
más útil.
Ahora, le agregaremos más opciones, para que se parezca más a un menú que
pueda ser utilizado por los usuarios de nuestras aplicaciones.
- 16 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
- 17 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
¿Cómo le muestro las opciones al usuario cuando hace click sobre una pestaña?
Para conseguir eso necesitarás dos cosas:
1. Diseñar la clase que usarás para mostrar tus opciones
2. Escribir el nombre de esa clase en la propiedad “PageClass” del control
RibbonTab, por ejemplo:
En este caso estamos usando una clase llamada “DesignerTab” que se encuentra
en la librería de clases “MyDesigns.vcx”
- 18 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
¿Cómo creo mis propias clases visuales para mostrar las opciones?
Para eso, puedes utilizar todas las clases que te provee la librería FoxRibbon.vcx
ya que allí encontrarás todo lo que necesitas.
EVENTO CLICK
=MessageBox(“Hiciste click aquí”)
- 19 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
_bandmenu
Es la banda vertical de los menús desplegables. Es utilizada en
RibbonFormMenu y se puede verla en los formularios Menu1 y Menu2
_borderform
Remarca aún más los bordes de un formulario y se ajusta
automáticamente a éste
_calendar
Calendario
_container
Contenedor de otros objetos
_datepicker
Muestra y permite cambiar la fecha
_datetimepicker
Muestra y permite cambiar la fecha y la hora
_day
Muestra el número del día
_menubar
Es un contenedor (de botones o de lo que necesites)
_menutabs
Es un contenedor para colocar en él las opciones que se mostrarán en un
menú vertical, como el de MyStartButton
_menutabsbutton
Utilizado en MyStartButton para mostrar opciones
_pageframeh
Es un contenedor de RibbonPage que simula un PageFrame. Ejemplos
de su uso se pueden ver en “Acerca de” y en “Open a form example”
_panel
Es un contenedor de diversos objetos que tiene una mejor apariencia. Un
ejemplo de su uso puede verse al hacer click en el botón “Propiedades del
estilo”.
_progressbar
Barra de progreso que también muestra un porcentaje
_statusbar
Barra de estado que se muestra en la parte inferior del formulario
- 20 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
_titlebar
Barra de títulos que puede ser personalizada
_titlebarmax
Barra de títulos que puede ser personalizada
ribbon
Menú de tipo ribbon (o cinta, en castellano) que puede ser personalizado.
Inicialmente está vacío, se le deben agregar las distintas opciones.
ribbonbuttongroup
Muestra un formulario asociado a un grupo
ribbonbuttonh
Similar a un botón de comando que se muestra en forma horizontal y
puede tener un icono de 16 x 16 pixeles
ribbonbuttonv
Similar a un botón de comando que se muestra en forma vertical y puede
tener un icono de 32 x 32 pixeles
ribboncheck
Similar a un checkbox
ribboncombo
Similar a un ComboBox
ribboncommandbutton
Similar a un botón de comandos, puede tener un icono de 16 x 16 pixeles
a la izquierda
ribboneditbox
Similar a un EditBox
ribbonformbase
Es un formulario base, utilizado en “Acerca de”, “Ver código” y es la
clase padre de RibbonFormCalendar, RibbonFormDateTime y de todas
las demás RibbonFormxxx
ribbonformcalendar
Formulario que muestra y permite cambiar una fecha
ribbonformdatetime
Formulario que muestra y permite cambiar la fecha y la hora
ribbonformmenu
Clase base para crear menús. Se puede ver un ejemplo de su uso en la
pestaña de “Ejemplos”, el botón “Edit” y los tres botones horizontales
“Label1” que están a su derecha.
- 21 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
ribbonformmsgbox
Similar a MessageBox() pero no hay interacción con el usuario.
ribbonformwait
Similar a Wait Window y con una barra de progresos opcional
ribbongroup
Contenedora de un grupo de opciones
ribbon_groupseparator
Separa los grupos cuando se emula a Office 2010. Eso se hace mediante
la propiedad _Screen.oRibbon.SeeOutlineGroup. Cuando está en .T. está
visible, cuando está en .F. está invisible.
ribbonhelp
Ventanita para mostrar mensajes de ayuda que tiene un título y un
mensaje, el cual puede tener hasta tres líneas
ribbonlabel
Similar a las etiquetas (label)
ribbonlistbox
Similar a un ListBox
ribbonmenuseparator
Barra horizontal para separar las opciones del menú
ribbonoptiongroup
Grupo de botones de radio
ribbonpage
Contenedora de las clases visibles, que automáticamente alinea a los
objetos que tiene contenidos
ribbonseparator
Muestra una barra para separar a un ribbonbuttonv de otro
ribbonsettings
Configuración de FoxRibbon. En lugar de usar variables públicas o
propiedades del objeto _Screen, se usan propiedades de esta clase
ribbonspinner
Similar a un Spinner
ribbonstartbutton
Contenedora de todas las opciones que puede mostrar el botón de inicio
ribbontab
Pestaña de título, que además puede tener un icono
- 22 -
Autor: Guillermo Carrero Documentación: Walter R. Ojeda Valiente
ribbontextbox
Similar a un TextBox
- 23 -