Alguien ha implementado menú completo con _sidebar de FoxRIbbon

106 views
Skip to first unread message

alexvar...@gmail.com

unread,
Sep 2, 2025, 11:41:20 AM (5 days ago) Sep 2
to Comunidad de Visual Foxpro en Español
Saludos estimados.

Estoy con la necesidad de implementar el FoxRibbon en mis sistemas VFP, particularmente me urge iniciar con el SideBar, necesito desplegar todo el menú de forma jerárquica con este objeto, de esta forma:

Facturación y Ventas

                Informes

                               Ventas comparativas anuales

                               Impuestos por período

                Mantenimiento

                               Mantenimiento de Clientes

                               Mantenimiento de Vendedores

                Transacciones

                               Facturas

                               Cotizaciones

Inventarios

                Informes

                               …………………….

                Mantenimiento

                               …………………….

                Transacciones

                               ……………………..

 

Me gusta cómo se despliegan y contraen los _sidebargroup, he intentado hacerlo agregando un _sidebargroup por cada módulo y dentro del mismo adicionar otro _sidebargroup para (Informes, Mantenimiento y Transacciones) y agregar dentro del segundo _sidebargroup un Ribbonbuttonh por cada opción en el tercer nivel (Ventas comparativas anuales, Mantenimiento de Clientes Etc.) pero no he logrado hacerlo.

Agradeceré si alguno de ustedes pudiera explicarme como lograrlo y mejor aún ti me dan un ejemplo funcional.

 

De antemano gracias.

 

Alex A. Vargas

Alberius RosenCruz

unread,
Sep 2, 2025, 1:48:42 PM (5 days ago) Sep 2
to Comunidad de Visual Foxpro en Español
seria interesante si alguien tiene experiencia en esa clase, ya que yo tambien he intentado, pero simplemente no capicho la capuleta, como decimos en mexico.

Juan Gonzalez

unread,
Sep 2, 2025, 5:45:26 PM (5 days ago) Sep 2
to publice...@googlegroups.com
crea un frm... digamos... frmPrincipal...   

esto iria en Init:  * Sidebar estilo menú vertical
* Formulario principal (ShowWindow = 2 para MDI, o 1 para normal)

* Crear contenedor sidebar
THISFORM.AddObject("contSidebar", "Container")
WITH THISFORM.contSidebar
    .Top = 0
    .Left = 0
    .Width = 250
    .Height = THISFORM.Height
    .BackColor = RGB(230,230,230)
    .Anchor = 15  && top, bottom, left
ENDWITH

* Etiqueta: Facturación y Ventas
THISFORM.contSidebar.AddObject("lblFacturacion", "Label")
WITH THISFORM.contSidebar.lblFacturacion
    .Top = 10
    .Left = 10
    .Caption = "Facturación y Ventas"
    .FontBold = .T.
ENDWITH

* Botón: Ventas comparativas
THISFORM.contSidebar.AddObject("cmdVentasComparativas", "CommandButton")
WITH THISFORM.contSidebar.cmdVentasComparativas
    .Top = 40
    .Left = 20
    .Width = 200
    .Caption = "Ventas comparativas anuales"
    .ToolTipText = "Abre el informe comparativo"
    .Anchor = 8
ENDWITH

* Botón: Impuestos por período
THISFORM.contSidebar.AddObject("cmdImpuestos", "CommandButton")
WITH THISFORM.contSidebar.cmdImpuestos
    .Top = 70
    .Left = 20
    .Width = 200
    .Caption = "Impuestos por período"
    .ToolTipText = "Ver impuestos"
    .Anchor = 8
ENDWITH

* Separador: Mantenimiento
THISFORM.contSidebar.AddObject("lblMantenimiento", "Label")
WITH THISFORM.contSidebar.lblMantenimiento
    .Top = 110
    .Left = 10
    .Caption = "Mantenimiento"
    .FontBold = .T.
ENDWITH

* Botón: Clientes
THISFORM.contSidebar.AddObject("cmdClientes", "CommandButton")
WITH THISFORM.contSidebar.cmdClientes
    .Top = 140
    .Left = 20
    .Width = 200
    .Caption = "Clientes"
    .ToolTipText = "Mantenimiento de clientes"
    .Anchor = 8
ENDWITH

* Botón: Vendedores
THISFORM.contSidebar.AddObject("cmdVendedores", "CommandButton")
WITH THISFORM.contSidebar.cmdVendedores
    .Top = 170
    .Left = 20
    .Width = 200
    .Caption = "Vendedores"
    .ToolTipText = "Mantenimiento de vendedores"
    .Anchor = 8
ENDWITH



para evento clic:  PROCEDURE cmdVentasComparativas.Click
    * Llamar a un formulario o procedimiento
    DO FORM frmVentasComparativas
ENDPROC

PROCEDURE cmdClientes.Click
    DO FORM frmClientes
ENDPROC

PROCEDURE cmdVendedores.Click
    DO FORM frmVendedores
ENDPROC


si queres que Init expanda este seria el codigo completo:  * Crear contenedor sidebar
THISFORM.AddObject("contSidebar", "Container")
WITH THISFORM.contSidebar
    .Top = 0
    .Left = 0
    .Width = 250
    .Height = THISFORM.Height
    .BackColor = RGB(230,230,230)
    .Anchor = 15  && top, bottom, left
ENDWITH

* Etiqueta clickeable: Facturación y Ventas
THISFORM.contSidebar.AddObject("btnFacturacion", "CommandButton")
WITH THISFORM.contSidebar.btnFacturacion
    .Top = 10
    .Left = 10
    .Width = 230
    .Caption = "▶ Facturación y Ventas"
    .FontBold = .T.
    .Tag = "0"  && colapsado
ENDWITH

* Sub-botón 1: Ventas comparativas
THISFORM.contSidebar.AddObject("cmdVentasComparativas", "CommandButton")
WITH THISFORM.contSidebar.cmdVentasComparativas
    .Top = 45
    .Left = 30
    .Width = 200
    .Caption = "Ventas comparativas"
    .Visible = .F.
ENDWITH

* Sub-botón 2: Impuestos
THISFORM.contSidebar.AddObject("cmdImpuestos", "CommandButton")
WITH THISFORM.contSidebar.cmdImpuestos
    .Top = 75
    .Left = 30
    .Width = 200
    .Caption = "Impuestos por período"
    .Visible = .F.
ENDWITH

* Vincular evento de clic a botón de sección
BINDEVENT(THISFORM.contSidebar.btnFacturacion, "Click", THISFORM, "ToggleFacturacion")



agrega  ToggleFacturacion

PROCEDURE ToggleFacturacion
    LOCAL estado
    estado = THIS.contSidebar.btnFacturacion.Tag

    IF estado = "0"
        * Expandir
        THIS.contSidebar.btnFacturacion.Caption = "▼ Facturación y Ventas"
        THIS.contSidebar.cmdVentasComparativas.Visible = .T.
        THIS.contSidebar.cmdImpuestos.Visible = .T.
        THIS.contSidebar.btnFacturacion.Tag = "1"
    ELSE
        * Colapsar
        THIS.contSidebar.btnFacturacion.Caption = "▶ Facturación y Ventas"
        THIS.contSidebar.cmdVentasComparativas.Visible = .F.
        THIS.contSidebar.cmdImpuestos.Visible = .F.
        THIS.contSidebar.btnFacturacion.Tag = "0"
    ENDIF
ENDPROC


  Cuando haces clic en ▶ Facturación y Ventas, se despliega:

puedes:  Repetir la estructura para otras secciones: Inventarios, Mantenimiento, etc.
Usar SHAPE como separadores.
Aplicar iconos (Image) si quieres más estilo.
  


me avisas como te fue 

--
Blog de la Comunidad Visual FoxPro en Español http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/531fa4c7-7398-4079-95b5-a8303343c0f2n%40googlegroups.com.
Message has been deleted

alexvar...@gmail.com

unread,
Sep 5, 2025, 7:01:03 PM (2 days ago) Sep 5
to Comunidad de Visual Foxpro en Español
Lo probaré e informaré como me fue, muchas gracias.

Saludos

Reply all
Reply to author
Forward
0 new messages