Ribbon Bar y WHEN

Ribbon Bar y WHEN

Postby FranciscoA » Mon Aug 12, 2024 11:48 pm

Saludos, amigos.
Que hago mal en el siguiente codigo? Me explico:
1- Cómo poner texto transparente en la Ribbon Bar?
2- Cómo deshabilitar los botones del Grupo 2 (oGr2) , con el boton oBt3?. Si nos fijamos, los botones 1 y 2 del oGr1 se deshabilitan-habilitan correctamente, no asi los del oGr2. Qué me falta?

Agradezco cualquier sugerencia.
Code: Select all  Expand view

#include "fivewin.ch"
#include "ribbon.ch"

static oWnd
static lTodos := .f.

//-----------------------------------------------//
Function Main()
local oRBar, oFont1, oFont2, oSay
local oBt1,oBt2,oBt3,oBt4,oBt5,oBt6,oBt7,oBt8
local oGr1,oGr2,oGr4
local cBmps := "c:\fwh1709\bitmaps\32x32\setup.bmp"  

   DEFINE FONT oFont1  NAME "ARIAL" SIZE 0,-12
   DEFINE FONT oFont2  NAME "TAHOMA" SIZE 0,-24 BOLD ITALIC

   DEFINE WINDOW oWnd MDI ;
          TITLE "MyRibbonBar"

   DEFINE RIBBONBAR oRBar WINDOW oWnd PROMPT "Opciones" ;
          HEIGHT 168 TOPMARGIN 40

   //COMO PONER ESTE TEXTO TRANSPARENTE EN LA RIBBON?
   @ 74, 880 SAY oSay PROMPT "Como poner este texto TRANSPARENT?" SIZE 550,30 PIXEL OF oRBar TRANSPARENT FONT oFont2

   ADD GROUP oGr1  RIBBON oRBar TO OPTION 1 PROMPT "Opciones" WIDTH 220

   @ 12, 05 ADD BUTTON oBt1 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 1" ;
         ACTION MsgInfo("Hola") WHEN !lTodos
   @ 12, 75 ADD BUTTON oBt2 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 2" ;
         ACTION MsgInfo("Hola") WHEN !lTodos
   @ 12,145 ADD BUTTON oBt3 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 3" ;
         ACTION MyFunct()

   ADD GROUP oGr2  RIBBON oRBar TO OPTION 1 PROMPT "Mantenimiento" WIDTH 220

   @ 12, 05 ADD BUTTON oBt4 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 4" ;
         ACTION MsgInfo("Hola") WHEN !lTodos
   @ 12, 75 ADD BUTTON oBt5 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 5" ;
         ACTION MsgInfo("Hola") WHEN !lTodos
   @ 12,145 ADD BUTTON oBt6 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 6" ;
         ACTION MsgInfo("Hola") WHEN !lTodos

   ADD GROUP oGr4  RIBBON oRBar TO OPTION 1 PROMPT "Salir" WIDTH 84

   @ 12,05 ADD BUTTON oBt8 GROUP oGr4 BITMAP cBmps  SIZE 70, 86 PROMPT "Salir" ;
         ACTION oWnd:End()

   oWnd:SetFont(oFont1)

   ACTIVATE WINDOW oWnd MAXIMIZED

   RELEASE oFont1, oFont2

return nil

Function MyFunct()
   if(!lTodos, lTodos := .t., lTodos := .f.)
return nil
 
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ribbon Bar y WHEN

Postby cmsoft » Tue Aug 13, 2024 12:34 pm

Francisco:
Aqui si se ven deshabilitados los iconos cuando presionas el boton 3 (en ambos grupos)
Para emular el efecto transparente puedes usar
Code: Select all  Expand view
oSay:SetColor( CLR_BLACK, oRBar:nClrPaneRB )

Espero te ayude
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Ribbon Bar y WHEN

Postby FranciscoA » Tue Aug 13, 2024 1:48 pm

César, gracias por responder.
Continúa igual. Estoy pensando que es cuestión de versiones. ¿Con cual versión lo probaste?
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ribbon Bar y WHEN

Postby karinha » Tue Aug 13, 2024 2:46 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Ribbon Bar y WHEN

Postby cmsoft » Tue Aug 13, 2024 3:09 pm

Francisco, con la version 24.
Lo voy a probar con una anterior y te comento
Editado
Si, efectivamente con versiones anteriores no funciona poner disable los botones, si la transparencia que te pase
User avatar
cmsoft
 
Posts: 1290
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Ribbon Bar y WHEN

Postby FranciscoA » Tue Aug 13, 2024 4:05 pm

cmsoft wrote:Francisco, con la version 24.
Lo voy a probar con una anterior y te comento
Editado
Si, efectivamente con versiones anteriores no funciona poner disable los botones, si la transparencia que te pase

César, gracias por confirmarlo.
Editado:
Con lo de los botones no me ha quedado mas remedio que codificar una pequeña function para que las acciones de los mencionado botones solo se ejecuten conforme a una condicion.
Last edited by FranciscoA on Tue Aug 13, 2024 4:09 pm, edited 1 time in total.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ribbon Bar y WHEN

Postby FranciscoA » Tue Aug 13, 2024 4:07 pm

Joao, efectivamente así lo he dejado. Lástima que queda un pequeño fondo blanco, apenas visible.
@08, 060 ADD BUTTON PROMPT "From" SIZE 40, 18 OF oGroup SAYBUTTON TRANSPARENT
Saludos, y gracias.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ribbon Bar y WHEN

Postby Antonio Linares » Tue Aug 13, 2024 4:18 pm

Estimado Francisco,

Puedes copiar aqui el ejemplo actualizado para probarlo ?

muchas gracias!
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Ribbon Bar y WHEN

Postby FranciscoA » Tue Aug 13, 2024 5:13 pm

Gracias, Antonio. Aqui está:
Code: Select all  Expand view
#include "fivewin.ch"
#include "ribbon.ch"

static oWnd
static lTodos := .f.

//-----------------------------------------------//
Function Main()
local oRBar, oFont1, oFont2, oSay
local oBt1,oBt2,oBt3,oBt4,oBt5,oBt6,oBt7,oBt8
local oGr1,oGr2,oGr4,oGr5
local cBmps := "c:\fwh1709\bitmaps\32x32\setup.bmp"  

   DEFINE FONT oFont1  NAME "ARIAL" SIZE 0,-12
   DEFINE FONT oFont2  NAME "TAHOMA" SIZE 0,-24 BOLD ITALIC

   DEFINE WINDOW oWnd MDI ;
          TITLE "MyRibbonBar"

   DEFINE RIBBONBAR oRBar WINDOW oWnd PROMPT "Opciones" ;
          HEIGHT 168 TOPMARGIN 40

*   //COMO PONER ESTE TEXTO TRANSPARENTE EN LA RIBBON?
*   @ 74, 880 SAY oSay PROMPT "Como poner este texto TRANSPARENT?" SIZE 550,30 PIXEL OF oRBar FONT oFont2
*   oSay:lTransparent := .t.
*   oSay:SetColor( CLR_BLUE, oRBar:nClrPaneRB )

   ADD GROUP oGr1  RIBBON oRBar TO OPTION 1 PROMPT "Opciones" WIDTH 220

   @ 12, 05 ADD BUTTON oBt1 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 1" ;
         ACTION MsgInfo("Hola") WHEN !lTodos
   @ 12, 75 ADD BUTTON oBt2 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 2" ;
         ACTION MsgInfo("Hola") WHEN !lTodos
   @ 12,145 ADD BUTTON oBt3 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 3" ;
         ACTION MyFunct()

   ADD GROUP oGr2  RIBBON oRBar TO OPTION 1 PROMPT "Mantenimiento" WIDTH 220

   @ 12, 05 ADD BUTTON oBt4 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 4" ;
         ACTION MsgInfo("Hola") WHEN !lTodos
   @ 12, 75 ADD BUTTON oBt5 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 5" ;
         ACTION MsgInfo("Hola") WHEN !lTodos
   @ 12,145 ADD BUTTON oBt6 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 6" ;
         ACTION MsgInfo("Hola") WHEN !lTodos

   ADD GROUP oGr4  RIBBON oRBar TO OPTION 1 PROMPT "Salir" WIDTH 84
 
   @ 12,05 ADD BUTTON oBt8 GROUP oGr4 BITMAP cBmps  SIZE 70, 86 PROMPT "Salir" ;
         ACTION oWnd:End()

   ADD GROUP oGr5  RIBBON oRBar TO OPTION 1 PROMPT "Francisco José Alegría Pérez - Chinandega, Nic." WIDTH 500
   @40, 20 RBBTN PROMPT "FapSoftware Explorador de Red" SIZE 450, 35 OF oGr5 CENTER SAYBUTTON FONT oFont2 TRANSPARENT


   oWnd:SetFont(oFont1)

   ACTIVATE WINDOW oWnd MAXIMIZED

   RELEASE oFont1, oFont2

return nil

Function MyFunct()
   if(!lTodos, lTodos := .t., lTodos := .f.)
return nil

 

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ribbon Bar y WHEN

Postby karinha » Tue Aug 13, 2024 5:40 pm

Francisco, asi me parece bien.

Code: Select all  Expand view

// C:\FWH\SAMPLES\FRANCISC.PRG

#include "fivewin.ch"
#include "ribbon.ch"

STATIC oWnd, lTodos := .F.

FUNCTION Main()

   LOCAL oRBar, oFont1, oFont2, oSay
   LOCAL oBt1, oBt2, oBt3, oBt4, oBt5, oBt6, oBt7, oBt8
   LOCAL oGr1, oGr2, oGr4, oGr5
   LOCAL cBmps := "..\bitmaps\32x32\setup.bmp"

   SetDlgGradient()

   DEFINE FONT oFont1 NAME "ARIAL"  SIZE 0, - 14 BOLD
   DEFINE FONT oFont2 NAME "TAHOMA" SIZE 0, - 24 BOLD // ITALIC

   DEFINE WINDOW oWnd MDI TITLE "MyRibbonBar"

   DEFINE RIBBONBAR oRBar WINDOW oWnd PROMPT "Opciones" ;
      HEIGHT 168 TOPMARGIN 40

   ADD GROUP oGr1  RIBBON oRBar TO OPTION 1 PROMPT "Opciones" WIDTH 220 ;
      GRADIANT { { 0.1, RGB( 218, 229, 243 ), RGB( 218, 229, 243 ) },   ;
                 { 0.9, RGB( 199, 216, 237 ), RGB( 218, 229, 243 ) } }

   @ 12, 05 ADD BUTTON oBt1 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 1" ;
      ACTION MsgInfo( "Hola" ) WHEN !lTodos

   @ 12, 75 ADD BUTTON oBt2 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 2" ;
      ACTION MsgInfo( "Hola" ) WHEN !lTodos

   @ 12, 145 ADD BUTTON oBt3 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 3" ;
      ACTION MyFunct()

   ADD GROUP oGr2  RIBBON oRBar TO OPTION 1 PROMPT "Mantenimiento" WIDTH 220 ;
      GRADIANT { { 0.1, RGB( 218, 229, 243 ), RGB( 218, 229, 243 ) },        ;
                 { 0.9, RGB( 199, 216, 237 ), RGB( 218, 229, 243 ) } }

   @ 12, 05 ADD BUTTON oBt4 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 4" ;
      ACTION MsgInfo( "Hola" ) WHEN !lTodos

   @ 12, 75 ADD BUTTON oBt5 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 5" ;
      ACTION MsgInfo( "Hola" ) WHEN !lTodos

   @ 12, 145 ADD BUTTON oBt6 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 6" ;
      ACTION MsgInfo( "Hola" ) WHEN !lTodos

   ADD GROUP oGr4 RIBBON oRBar TO OPTION 1 PROMPT "Salir" WIDTH 84 ;
      GRADIANT { { 0.1, RGB( 218, 229, 243 ), RGB( 218, 229, 243 ) },        ;
                 { 0.9, RGB( 199, 216, 237 ), RGB( 218, 229, 243 ) } }

   ADD GROUP oGr5  RIBBON oRBar TO OPTION 1 PROMPT "Francisco José Alegría Pérez - Chinandega, Nic." WIDTH 500 ;
      GRADIANT { { 0.1, RGB( 218, 229, 243 ), RGB( 218, 229, 243 ) },        ;
                 { 0.9, RGB( 199, 216, 237 ), RGB( 218, 229, 243 ) } }

   @40, 20 RBBTN PROMPT "FapSoftware Explorador de Red" SIZE 450, 35 OF oGr5 ;
      CENTER SAYBUTTON FONT oFont2 TRANSPARENT                               ;
      GRADIANT { { 0.1, RGB( 218, 229, 243 ), RGB( 218, 229, 243 ) },        ;
                 { 0.9, RGB( 199, 216, 237 ), RGB( 218, 229, 243 ) } }

   @ 12, 05 ADD BUTTON oBt8 GROUP oGr4 BITMAP cBmps SIZE 70, 86 PROMPT "Salir" ;
      ACTION oWnd:End()

   oWnd:SetFont( oFont1 )

   ACTIVATE WINDOW oWnd MAXIMIZED

   RELEASE oFont1, oFont2

RETURN NIL

FUNCTION MyFunct()

   IF( .NOT. lTodos, lTodos := .T., lTodos := .F. )

RETURN NIL

// FIN / END
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7824
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Ribbon Bar y WHEN

Postby FranciscoA » Tue Aug 13, 2024 6:06 pm

Gracias, Joao.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ribbon Bar y WHEN

Postby FranciscoA » Wed Aug 14, 2024 3:45 pm

De esta manera me funciona para FWH1709:
Code: Select all  Expand view
#include "fivewin.ch"
#include "ribbon.ch"

static oWnd
static lTodos := .f.

//-----------------------------------------------//
Function Main()
local oRBar, oFont1, oFont2, oSay
local oBt1,oBt2,oBt3,oBt4,oBt5,oBt6,oBt7,oBt8
local oGr1,oGr2,oGr4,oGr5
local cBmps := "c:\fwh1709\bitmaps\32x32\setup.bmp"  

   DEFINE FONT oFont1  NAME "ARIAL" SIZE 0,-12
   DEFINE FONT oFont2  NAME "TAHOMA" SIZE 0,-24 BOLD ITALIC

   DEFINE WINDOW oWnd MDI ;
          TITLE "MyRibbonBar"

   DEFINE RIBBONBAR oRBar WINDOW oWnd PROMPT "Opciones" ;
          HEIGHT 168 TOPMARGIN 40

   ADD GROUP oGr1  RIBBON oRBar TO OPTION 1 PROMPT "Opciones" WIDTH 220

   @ 12, 05 ADD BUTTON oBt1 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 1" ;
         ACTION MsgInfo("Hola")   //WHEN !lTodos
   @ 12, 75 ADD BUTTON oBt2 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 2" ;
         ACTION MsgInfo("Hola")   // WHEN !lTodos
   @ 12,145 ADD BUTTON oBt3 GROUP oGr1 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 3" ;
         ACTION EnabDisabBtns({oBt1,oBt2,oBt4,oBt5,oBt6})

   ADD GROUP oGr2  RIBBON oRBar TO OPTION 1 PROMPT "Mantenimiento" WIDTH 220

   @ 12, 05 ADD BUTTON oBt4 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 4" ;
         ACTION MsgInfo("Hola")   //WHEN !lTodos
   @ 12, 75 ADD BUTTON oBt5 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 5" ;
         ACTION MsgInfo("Hola")   //WHEN !lTodos
   @ 12,145 ADD BUTTON oBt6 GROUP oGr2 BITMAP cBmps SIZE 70, 86 PROMPT "Boton 6" ;
         ACTION MsgInfo("Hola")   //WHEN !lTodos

   ADD GROUP oGr4  RIBBON oRBar TO OPTION 1 PROMPT "Salir" WIDTH 84

   @ 12,05 ADD BUTTON oBt7 GROUP oGr4 BITMAP cBmps  SIZE 70, 86 PROMPT "Salir" ;
         ACTION oWnd:End()

   ADD GROUP oGr5  RIBBON oRBar TO OPTION 1 PROMPT "Francisco José Alegría Pérez - Chinandega, Nic." WIDTH 500
   oGr5:Disable()
   @40, 20 RBBTN oBt8 PROMPT "FapSoftware Explorador de Red" SIZE 450, 35 OF oGr5 CENTER SAYBUTTON FONT oFont2 TRANSPARENT  //BITMAP ".\fapsoft48.BMP"

   oWnd:SetFont(oFont1)

   ACTIVATE WINDOW oWnd MAXIMIZED

   RELEASE oFont1, oFont2

return nil

//-------------------------------------------------//
FUNCTION EnabDisabBtns(aBtns)
   local n

   For n := 1 to len(aBtns)
      if( !lTodos, aBtns[n]:Disable(), aBtns[n]:Enable() )
   Next

   if( !lTodos, lTodos := .t., lTodos := .f. )

Return nil
 

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 74 guests