Mover Botón de la barra de xbrowser

Post Reply
User avatar
jose_murugosa
Posts: 1196
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Been thanked: 1 time
Contact:

Mover Botón de la barra de xbrowser

Post by jose_murugosa »

Buenos días a todos,
Una consulta sobre mover un botón en xbrowser.

Estoy usando xbrowser en algunos casos solo con las opciones de desplazamiento y generar excel.
Aquí un ejemplo de como lo hago:

Code: Select all | Expand

FUNCTION Main()
     LOCAL i
     
     REQUEST DBFCDX
     RddSetDefault( "DBFCDX" )
     set DATE FRENCH
     SET CENTURY ON
     SET EPOCH TO Year( Date() ) - 40

     USE C:\fwh\samples\customer NEW SHARED
     
     XBROWSER "CUSTOMER" TITLE "Prueba" SETUP ;
               ( oBrw:bInit :=  { |o|   ;
                    o:oWnd:oBar:aControls[ 8 ]:lGroup := .F., ;
                    o:oWnd:oBar:aControls[ 5 ]:Hide(), ;
                    o:oWnd:oBar:aControls[ 6 ]:Hide(), ;
                    o:oWnd:oBar:aControls[ 7 ]:Hide(), ;
                    o:oWnd:oBar:aControls[ 8 ]:Hide() } ;
                 )
RETURN nil
La pregunta es:
¿Cómo se puede hacer para que el botón de excel no aparezca distanciado de los demás que no se ocultaron?
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
cnavarro
Posts: 6605
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 6 times
Been thanked: 8 times

Re: Mover Botón de la barra de xbrowser

Post by cnavarro »

Añade al codeblock o:oWnd:oBar:Refresh(), a ver
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
jose_murugosa
Posts: 1196
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Been thanked: 1 time
Contact:

Re: Mover Botón de la barra de xbrowser

Post by jose_murugosa »

Cristóbal, gracias por tu respuesta y disculpa mi demora en contestar.
Si ya lo había probado pero no obtuve ningun resultado.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
karinha
Posts: 7990
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

Re: Mover Botón de la barra de xbrowser

Post by karinha »

Esto?

Code: Select all | Expand

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

#include "FiveWin.ch"

REQUEST DBFCDX

FUNCTION Main()

   LOCAL i

   rddSetDefault( "DBFCDX" )

   SET DATE FRENCH
   SET CENTURY ON
   SET EPOCH TO Year( Date() ) - 40

   USE ..\SAMPLES\CUSTOMER NEW SHARED
   GO TOP

   XBROWSER "CUSTOMER" TITLE "Prueba" SETUP               ;
      ( oBrw:bInit :=  {| o |                             ;
        o:oWnd:oBar:aControls[ 8 ]:lGroup := .F.,         ;
        o:oWnd:oBar:aControls[ 5 ]:Hide(),                ;
        o:oWnd:oBar:aControls[ 6 ]:Hide(),                ;
        o:oWnd:oBar:aControls[ 7 ]:Hide(),                ;
        o:oWnd:oBar:aControls[ 8 ]:Hide(),                ;
        o:oWnd:oBar:Del( Len( o:oWnd:oBar:aControls ) ) } ; // aqui
      )


RETURN NIL

// FIN / END - kapiabafwh@gmail.com
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
Posts: 7990
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

Re: Mover Botón de la barra de xbrowser

Post by karinha »

Maestro Navarro, ¿hay otra manera de hacer esto? Este es el único que conozco.

O esto?

Code: Select all | Expand

// C:\FWH\SAMPLES\MURUGOS.PRG - Version 2.

#include "FiveWin.ch"

REQUEST DBFCDX

FUNCTION Main()

   LOCAL i

   rddSetDefault( "DBFCDX" )

   SET DATE FRENCH
   SET CENTURY ON
   SET EPOCH TO Year( Date() ) - 40

   USE ..\SAMPLES\CUSTOMER NEW SHARED
   GO TOP

   /*
   XBROWSER "CUSTOMER" TITLE "Prueba" SETUP              ;
      ( oBrw:bInit :=  {| o |                            ;
        o:oWnd:oBar:aControls[ 8 ]:lGroup := .F.,        ;
        o:oWnd:oBar:aControls[ 5 ]:Hide(),               ;
        o:oWnd:oBar:aControls[ 6 ]:Hide(),               ;
        o:oWnd:oBar:aControls[ 7 ]:Hide(),               ;
        o:oWnd:oBar:aControls[ 8 ]:Hide(),               ;
        o:oWnd:oBar:Del( Len( o:oWnd:oBar:aControls )) } ;
      )
   */

   // Otro modelo
   XBROWSER "CUSTOMER" TITLE "Prueba" SETUP                              ;
      ( oBrw:bInit :=  {| o |                                            ;
        o:oWnd:oBar:aControls[ 8 ]:lGroup := .F.,                        ;
        o:oWnd:oBar:aControls[ 5 ]:Hide(),                               ;
        o:oWnd:oBar:aControls[ 6 ]:Hide(),                               ;
        o:oWnd:oBar:aControls[ 7 ]:Hide(),                               ;
        o:oWnd:oBar:aControls[ 8 ]:Hide(),                               ;
        o:oWnd:oBar:aControls[ 9 ]:Move( 0, o:oWnd:oBar:nWidth() -35 ) } ; // aqui
      )

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
cnavarro
Posts: 6605
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 6 times
Been thanked: 8 times

Re: Mover Botón de la barra de xbrowser

Post by cnavarro »

Probad asi y decidme si os funciona ( a mi me funciona correctamente )

Code: Select all | Expand

#include "fivewin.ch"

FUNCTION Main()
     LOCAL i
     
     REQUEST DBFCDX
     RddSetDefault( "DBFCDX" )
     set DATE FRENCH
     SET CENTURY ON
     SET EPOCH TO Year( Date() ) - 40

     USE d:\fwh\fwhteam\samples\customer NEW SHARED
     
     XBROWSER "customer" TITLE "Prueba" SETUP ;
               ( oBrw:oWnd:bInit :=  { | o | ;
                    o:oBar:l2013 := .T., ;
                    o:oBar:l2010 := .F., ;
                    o:oBar:l2015 := .F., ;
                    o:oBar:aControls[ 5 ]:cTooltip  := o:oBar:aControls[ 9 ]:cToolTip, ;
                    o:oBar:aControls[ 5 ]:bAction   := o:oBar:aControls[ 9 ]:bAction, ;
                    o:oBar:aControls[ 5 ]:LoadBitmaps( FWBitmap( "Excel" ) ), ;
                    AEval( o:oBar:aControls, { | oBtt | oBtt:End() }, 6, 9 ), ; 
                    ASize( o:oBar:aControls, 5 ), ; 
                    AEval( o:oBar:aControls, { | oBtt | oBtt:Refresh() } ), ;
                    o:oBar:SetGradients(), ;
                    o:oBar:Refresh() ;
                  } )
RETURN nil

Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
karinha
Posts: 7990
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

Re: Mover Botón de la barra de xbrowser

Post by karinha »

Excelente maestro Navarro. Prefiero LOOK 2007, pregunta: si quiero activar el botón XBROWSE() <Salir>, ¿cómo lo hago?

Code: Select all | Expand

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

#Include "FiveWin.ch"

FUNCTION Main()

   LOCAL i

   REQUEST DBFCDX
   rddSetDefault( "DBFCDX" )

   SET DATE FRENCH
   SET CENTURY ON
   SET EPOCH TO Year( Date() ) - 40

   USE ..\SAMPLES\CUSTOMER NEW SHARED

   XBROWSER "CUSTOMER" TITLE "Prueba" SETUP                               ;
      ( oBrw:oWnd:bInit :=  {| o |                                        ;
        o:oBar:l2007 := .T.,                                              ;
        o:oBar:l2013 := .F.,                                              ;
        o:oBar:l2010 := .F.,                                              ;
        o:oBar:l2015 := .F.,                                              ;
        o:oBar:aControls[ 6 ]:Hide(),                                     ;
        o:oBar:aControls[ 7 ]:Hide(),                                     ;
        o:oBar:aControls[ 8 ]:Hide(),                                     ;
        o:oBar:aControls[ 9 ]:Hide(),                                     ;
        o:oBar:aControls[ 5 ]:cTooltip := o:oBar:aControls[ 9 ]:cToolTip, ;
        o:oBar:aControls[ 5 ]:bAction  := o:oBar:aControls[ 9 ]:bAction,  ;
        o:oBar:aControls[ 5 ]:LoadBitmaps( FWBitmap( "Excel" ) ),         ;
        AEval( o:oBar:aControls, {| oBtt | oBtt:End() }, 6, 9 ),          ;
        ASize( o:oBar:aControls, 5 ),                                     ;
        AEval( o:oBar:aControls, {| oBtt | oBtt:Refresh() } ),            ;
        o:oBar:SetGradients(),                                            ;
        o:oBar:Refresh()                                                  ;
      } )

RETURN NIL

// FIN / END
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
cnavarro
Posts: 6605
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 6 times
Been thanked: 8 times

Re: Mover Botón de la barra de xbrowser

Post by cnavarro »

Estimado Joao, luego intento hacerte un ejemplo, pero sería añadir al array aControls, ese boton con el tooltip "Salir" y el action oDlg:End()
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
Posts: 6605
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 6 times
Been thanked: 8 times

Re: Mover Botón de la barra de xbrowser

Post by cnavarro »

Aqui tienes el ejemplo con el boton de "Cerrar"

Code: Select all | Expand

#include "fivewin.ch"

FUNCTION Main()
     LOCAL i
     
     REQUEST DBFCDX
     RddSetDefault( "DBFCDX" )
     set DATE FRENCH
     SET CENTURY ON
     SET EPOCH TO Year( Date() ) - 40

     USE c:\fwh\amples\customer NEW SHARED
     
     XBROWSER "customer" TITLE "Prueba" SETUP ;
               ( oBrw:oWnd:bInit :=  { | o | ;
                    o:oBar:l2013 := .T., ;
                    o:oBar:l2010 := .F., ;
                    o:oBar:l2015 := .F., ;
                    o:oBar:aControls[ 5 ]:cTooltip  := o:oBar:aControls[ 9 ]:cToolTip, ;
                    o:oBar:aControls[ 5 ]:bAction   := o:oBar:aControls[ 9 ]:bAction, ;
                    o:oBar:aControls[ 5 ]:LoadBitmaps( FWBitmap( "Excel" ) ), ;
                    o:oBar:aControls[ 6 ]:cTooltip  := "Exit", ;
                    o:oBar:aControls[ 6 ]:bAction   := { | oBtt | oBtt:oWnd:oWnd:End() }, ;
                    o:oBar:aControls[ 6 ]:LoadBitmaps( FWBitmap( "exit2" ) ), ;  // close16
                    o:oBar:aControls[ 6 ]:lRight    := .T., ;
                    AEval( o:oBar:aControls, { | oBtt | oBtt:End() }, 7, 9 ), ; 
                    ASize( o:oBar:aControls, 6 ), ; 
                    AEval( o:oBar:aControls, { | oBtt | oBtt:Refresh() } ), ;
                    o:oBar:SetGradients(), ;
                    o:oBar:Refresh() ;
                  } )
RETURN nil

Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
karinha
Posts: 7990
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 6 times
Contact:

Re: Mover Botón de la barra de xbrowser

Post by karinha »

Excelente maestro Navarro. Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
jose_murugosa
Posts: 1196
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Been thanked: 1 time
Contact:

Re: Mover Botón de la barra de xbrowser

Post by jose_murugosa »

Cristóbal, Joao:
Muuchas gracias.
Recien puedo ver y probar el código.
Que buenas soluciones las dos Cristóbal, me decanté por la del botón de salir.
Una belleza.

Gracias por la buena disposición que muestran siempre para ayudar.
Un fuerte abrazo
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
Post Reply