Page 1 of 2

ribbonbar windows 10

Posted: Wed Apr 26, 2017 9:27 am
by Frafive
Hola

Como puedo poner en una ribbonbar el estilo windows 10 ?

Saludos,
Gabriel

Re: ribbonbar windows 10

Posted: Wed Apr 26, 2017 10:26 am
by cnavarro
Puedes poner una imagen?
Gracias

Re: ribbonbar windows 10

Posted: Wed Apr 26, 2017 5:50 pm
by MGA
DEFINE RIBBONBAR oRBar WINDOW oWnd PROMPT "Tab 01", "Tab 02", "Tab 03" 2010

Re: ribbonbar windows 10

Posted: Wed Apr 26, 2017 7:05 pm
by Antonio Linares
Prueba también:

DEFINE RIBBONBAR oRBar WINDOW oWnd PROMPT "Tab 01", "Tab 02", "Tab 03" 2015

Re: ribbonbar windows 10

Posted: Thu Apr 27, 2017 7:50 am
by Frafive
Hola

Adjunto pantallazo del paint, esta sería la idea.

Saludos,


Image

Re: ribbonbar windows 10

Posted: Thu Apr 27, 2017 8:19 am
by Antonio Linares
Prueba con la cláusula 2015

No es exactamente el mismo, pero se asemeja bastante

Re: ribbonbar windows 10

Posted: Thu Apr 27, 2017 9:56 am
by Frafive
Antonio, se ve regular, en el degradado al pasar por lo botones no es el mismo, adjunto una pantallazo.

Saludos y Mil gracias

Image

Re: ribbonbar windows 10

Posted: Thu Apr 27, 2017 2:21 pm
by cnavarro
Utiliza el estilo 2013 y configura los colores que no te gusten como necesites

Re: ribbonbar windows 10

Posted: Fri Apr 28, 2017 6:35 am
by José Luis Sánchez
Una funcionalidad interesante de las Ribbonbar de office es que haciendo doble click en la pestaña la ribbon se contrae, y unicamente se muestran los títulos de las pestañas asemejando a un menú. ¿ Esto se puede hacer con la RB de FWH ?

Saludos,

Re: ribbonbar windows 10

Posted: Fri Apr 28, 2017 6:40 am
by Antonio Linares
José Luis,

De momento no

Re: ribbonbar windows 10

Posted: Fri Apr 28, 2017 7:12 am
by Antonio Linares
José Luis,

Modificando asi el Método LDblClick() en la Clase TRibbonBar y con el ejemplo que te pongo a continuación se consigue el efecto que comentas:

Code: Select all

METHOD LDblClick( nRow, nCol, nFlags ) CLASS TRibbonBar

   if ValType( ::bLDblClickQ ) == "B" .and. ::lOverQ
      Eval( ::bLDblClickQ, nRow, nCol, nFlags )
   endif

   if ValType( ::bLDblClick ) == "B"
      Eval( ::bLDblClick, nRow, nCol, nFlags )
   endif

return nil
Aqui tienes un ejemplo que se comporta como indicas:

Code: Select all

#include "FiveWin.ch"
#include "ribbon.ch"

function Main()

   local oWnd

   DEFINE WINDOW oWnd

   BuildRibbonBar( oWnd )

   ACTIVATE WINDOW oWnd

return nil

function BuildRibbonBar( oWnd )

   local oRBar, oGr1_1, oGr2_1, oBtn1_1_1, oBtn2_1_1

   DEFINE RIBBONBAR oRBar WINDOW oWnd PROMPT  "One", "Two", "Three" HEIGHT 134 TOPMARGIN 25

   oRBar:bLDblClick = { || If( oRBar:nHeight > 27, oRBar:nHeight := 27, oRBar:nHeight := 129 ) }

   ADD GROUP oGr1_1 RIBBON oRBar TO OPTION 1 PROMPT "new" WIDTH 201 GRADIANT { { 0.1, RGB( 218, 229, 243 ), RGB( 218, 229, 243 ) }, { 0.9, RGB( 199, 216, 237 ), RGB( 218, 229, 243 ) } }

   @ 3, 3 ADD BUTTON  oBtn1_1_1 PROMPT "new" GROUP oGr1_1 ACTION MsgInfo( "click" ) SIZE 80, 83 TOP

   @ 3, 83 ADD BUTTON  oBtn2_1_1 PROMPT "new" GROUP oGr1_1 ACTION MsgInfo( "click" ) SIZE 80, 83 TOP

   ADD GROUP oGr2_1 RIBBON oRBar TO OPTION 1 PROMPT "new" WIDTH 201 GRADIANT { { 0.1, RGB( 218, 229, 243 ), RGB( 218, 229, 243 ) }, { 0.9, RGB( 199, 216, 237 ), RGB( 218, 229, 243 ) } }

return nil
Este es el código en concreto que hace lo que has comentado:

Code: Select all

oRBar:bLDblClick = { || If( oRBar:nHeight > 27, oRBar:nHeight := 27, oRBar:nHeight := 129 ) }

Re: ribbonbar windows 10

Posted: Fri Apr 28, 2017 7:09 pm
by Silvio.Falconi
nice

Re: ribbonbar windows 10

Posted: Fri Apr 28, 2017 7:57 pm
by Frafive
Hola

Como puedo cambiar el color de selección de un botón ?

Saludos,

Gracias

Image

Re: ribbonbar windows 10

Posted: Fri Apr 28, 2017 10:59 pm
by cnavarro
Ejemplo

Code: Select all


   local aClrMenu1 := { { 0.5, RGB( 69, 124, 188 ), RGB( 41, 93, 171 ) }, ;
                       { 0.5, RGB( 26, 64, 136 ), RGB( 56, 135, 191 ) } }
   local aClrMenu2 := { { 0.5, RGB( 123, 178, 236 ), RGB( 71, 126, 205 ) }, ;
                       { 0.5, RGB( 17, 78, 175 ), RGB( 128, 225, 255 ) } }


   DEFINE WINDOW oWnd TITLE "RibbonBar Test " + FWVERSION FROM 1,1 to 600,600 PIXEL
   
   DEFINE RIBBONBAR oRBar WINDOW oWnd ;
      PROMPT "Configuración", "Ficheros", "Informes", "Ayudas" ;
      HEIGHT 133 TOPMARGIN 25 2013

   oRBar:nRoundBox  := 0
   oRBar:nSeparation( 1 )

//   BackStage( oRBar )
   
   oRBar:nLeftMargin = 75
   oRBar:CalcPos()

   oTBtn0 = TRBtn():New( 4, 0, 75, 20, "..\bitmaps\rbnmenu.bmp", { || oRBar:BackStage() /* oRBar:KeybMode() */ }, oRBar,;
                         ,,,,,, .F., .T.,,,,,, "POPUP", oMenu,,,,,,,,,,,,, aClrMenu1, nRGB( 125, 172, 215 ),;
                         nRGB( 65, 106, 189 ), oRBar:nRoundBox, ) 
   oTBtn0:aClrGradOver = { || aClrMenu2 }
   oTBtn0:aClrGradBack = aClrMenu2
   oTBtn0:bClrGradSubOver = { || aClrMenu2 }

 

Re: ribbonbar windows 10

Posted: Sat Apr 29, 2017 6:12 am
by Antonio Linares
Antonio Linares wrote:José Luis,

Modificando asi el Método LDblClick() en la Clase TRibbonBar y con el ejemplo que te pongo a continuación se consigue el efecto que comentas:

Code: Select all

METHOD LDblClick( nRow, nCol, nFlags ) CLASS TRibbonBar

   if ValType( ::bLDblClickQ ) == "B" .and. ::lOverQ
      Eval( ::bLDblClickQ, nRow, nCol, nFlags )
   endif

   if ValType( ::bLDblClick ) == "B"
      Eval( ::bLDblClick, nRow, nCol, nFlags )
   endif

return nil
Aqui tienes un ejemplo que se comporta como indicas:

Code: Select all

#include "FiveWin.ch"
#include "ribbon.ch"

function Main()

   local oWnd

   DEFINE WINDOW oWnd

   BuildRibbonBar( oWnd )

   ACTIVATE WINDOW oWnd

return nil

function BuildRibbonBar( oWnd )

   local oRBar, oGr1_1, oGr2_1, oBtn1_1_1, oBtn2_1_1

   DEFINE RIBBONBAR oRBar WINDOW oWnd PROMPT  "One", "Two", "Three" HEIGHT 134 TOPMARGIN 25

   oRBar:bLDblClick = { || If( oRBar:nHeight > 27, oRBar:nHeight := 27, oRBar:nHeight := 129 ) }

   ADD GROUP oGr1_1 RIBBON oRBar TO OPTION 1 PROMPT "new" WIDTH 201 GRADIANT { { 0.1, RGB( 218, 229, 243 ), RGB( 218, 229, 243 ) }, { 0.9, RGB( 199, 216, 237 ), RGB( 218, 229, 243 ) } }

   @ 3, 3 ADD BUTTON  oBtn1_1_1 PROMPT "new" GROUP oGr1_1 ACTION MsgInfo( "click" ) SIZE 80, 83 TOP

   @ 3, 83 ADD BUTTON  oBtn2_1_1 PROMPT "new" GROUP oGr1_1 ACTION MsgInfo( "click" ) SIZE 80, 83 TOP

   ADD GROUP oGr2_1 RIBBON oRBar TO OPTION 1 PROMPT "new" WIDTH 201 GRADIANT { { 0.1, RGB( 218, 229, 243 ), RGB( 218, 229, 243 ) }, { 0.9, RGB( 199, 216, 237 ), RGB( 218, 229, 243 ) } }

return nil
Este es el código en concreto que hace lo que has comentado:

Code: Select all

oRBar:bLDblClick = { || If( oRBar:nHeight > 27, oRBar:nHeight := 27, oRBar:nHeight := 129 ) }
Included in FWH 17.04