FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Impedir la ventana emergente de edici贸n de xbrowser [RESUELTO]
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Impedir la ventana emergente de edici贸n de xbrowser [RESUELTO]
Posted: Thu Oct 30, 2025 01:15 PM
Queridos Compa帽eros del foro,
En un xbrowser he ocultado los botones de edici贸n.

脡ste es el c贸digo:
XBROWSER oRs1 TITLE cTitulo SETUP ;
          ( oBrw:oWnd:bInit :=  { | o | ;
               o:oBar:l2013 := .F., ;
               o:oBar:l2010 := .F., ;
               o:oBar:l2015 := .T., ;
               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" ) ), ; 
               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() } ;
               )
驴Como puedo hacer para que al dar dobleclick sobre una fila NO se abra la dialog de edici贸n del registro?
Prob茅 varias de las opciones que aparecen en el foro pero sin 茅xito.

Gracias desde ya por vuestra ayuda.
Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Impedir la ventana emergente de edici贸n de xbrowser
Posted: Thu Oct 30, 2025 07:41 PM

Y si modificas

o:bDblClick :={|| nil }

?

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Impedir la ventana emergente de edici贸n de xbrowser
Posted: Fri Oct 31, 2025 10:06 AM
carlos vargas wrote: Y si modificas
o:bDblClick :={|| nil }
?
Gracias por tu respuesta Carlos.

Prob茅 y me da este error:
 Called from:  => __ERRRT_SBASE( 0 )
   Called from: ../../../tobject.prg => TDIALOG:ERROR( 0 )
   Called from: ../../../tobject.prg => (b)HBOBJECT( 0 )
   Called from: ../../../tobject.prg => TDIALOG:MSGNOTFOUND( 0 )
   Called from: ../../../tobject.prg => TDIALOG:_BDBLCLICK( 0 )
   Called from:  => (b)EVAL( 688 )
   Called from: .\source\function\xbrowser.prg => FITSIZES( 318 )
   Called from: .\source\function\xbrowser.prg => (b)XBROWSE( 266 )
   Called from: .\source\classes\dialog.prg => TDIALOG:INITIATE( 964 )
   Called from: .\source\classes\dialog.prg => TDIALOG:HANDLEEVENT( 1241 )
   Called from:  => DIALOGBOXINDIRECT( 0 )
   Called from: .\source\classes\dialog.prg => TDIALOG:ACTIVATE( 325 )
   Called from: .\source\function\xbrowser.prg => XBROWSE( 294 )
   Called from: d:\xbase-proyectos\estadisticas\source\Esthacdeso.prg => ELABOROINFORME( 688 )
Sigo probando.... :(
Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Impedir la ventana emergente de edici贸n de xbrowser
Posted: Fri Oct 31, 2025 10:12 AM

Estimado Jose,

Es la DATA del browse:

oBrowse:bDblClick := {|| nil }

Parece que se lo est谩s asignando al di谩logo

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Impedir la ventana emergente de edici贸n de xbrowser
Posted: Fri Oct 31, 2025 02:17 PM

En todo caso ser铆a oBrw:bDblClick.

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Impedir la ventana emergente de edici贸n de xbrowser
Posted: Fri Oct 31, 2025 03:07 PM

Antonio y Carlos, muchas gracias a ambos.

Dos errores corregidos.

1) Tal como dices antonio deb铆 usar el data de oBrw

2) el Data es bLDblClick de modo que ser铆a:

oBrw:bLDblClick:={|| nil }

Ahora funciona perfecto!!! mil gracias a ambos.

Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Impedir la ventana emergente de edici贸n de xbrowser
Posted: Fri Oct 31, 2025 03:39 PM
jose_murugosa wrote: Antonio y Carlos, muchas gracias a ambos.

Dos errores corregidos.
1) Tal como dices antonio deb铆 usar el data de oBrw
2) el Data es bLDblClick de modo que ser铆a:

oBrw:bLDblClick:={|| nil }

Ahora funciona perfecto!!! mil gracias a ambos.
Buenos d铆as Jos茅, 驴ser铆a mucho pedir un ejemplo completo de c贸mo usar este modelo?

Gracias, tks.

Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: Impedir la ventana emergente de edici贸n de xbrowser
Posted: Mon Nov 03, 2025 12:09 PM
karinha wrote:
Antonio y Carlos, muchas gracias a ambos.

Dos errores corregidos.
1) Tal como dices antonio deb铆 usar el data de oBrw
2) el Data es bLDblClick de modo que ser铆a:

oBrw:bLDblClick:={|| nil }

Ahora funciona perfecto!!! mil gracias a ambos.
Buenos d铆as Jos茅, 驴ser铆a mucho pedir un ejemplo completo de c贸mo usar este modelo?

Gracias, tks.

Regards, saludos.
No para nada, es un placer ayudar

Esta funci贸n presenta de diferentes formas el xbrowser que me resultan 煤tiles y la uso para el setup de xbrowser :

Modo de uso: XBROWSER tabla title titulo SETUP XBrBar( oBrw, 1 )
EstadoBar = 0 - Sin barra de botones ni edici贸n con doble click
EstadoBar = 1 - Con barra de botones, desplazamiento, excel y sin edici贸n con doble click
EstadoBar = 2 - Con barra de botones, desplazamiento, excel e imprimir sin edici贸n con doble click
cualquier otro o si se omite el par谩metro - xbrowser normal y con todos los botones y edici贸n con doble click
#Include "Fivewin.ch"
#Include "WinApi.ch"
#Include "XBrowse.ch"

FUNCTION XBrBar( oBrw, EstadoBar )
     DEFAULT EstadoBar := 3  // xbrowse sin limitaciones y con todos los botones.

     IF EstadoBar = 0
          oBrw:oWnd:bInit := ;
               { |oDlg|
               WITH OBJECT oDlg
                    :oBar:Hide()
                    oBrw:nTop -= :oBar:nHeight
                    oBrw:nHeight += :oBar:nHeight
                    oBrw:bLDblClick:={|| nil }
               END                    
               }
     ELSEIF EstadoBar = 1
          oBrw:oWnd:bInit := ( ;
               { | o | ;
               o:oBar:l2010 := .F., ;
               o:oBar:l2013 := .F., ;
               o:oBar:l2015 := .T., ;
               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" ) ), ; 
               o:oBar:aControls[ 6 ]:lRight    := .T., ;
               AEval( o:oBar:aControls, { | oBtt | oBtt:End() }, 7, 9 ), ; 
               ASize( o:oBar:aControls, 7 ), ; 
               AEval( o:oBar:aControls, { | oBtt | oBtt:Refresh() } ), ;
               o:oBar:SetGradients(), ;
               o:oBar:Refresh() }, ;
               oBrw:bLDblClick:={|| nil } )
     ELSEIF EstadoBar = 2
          oBrw:oWnd:bInit := ( ;
               { | o | ;
               o:oBar:l2010 := .F., ;
               o:oBar:l2013 := .F., ;
               o:oBar:l2015 := .T., ;
               o:oBar:aControls[ 5 ]:cTooltip  := o:oBar:aControls[ 8 ]:cToolTip, ;
               o:oBar:aControls[ 5 ]:bAction   := o:oBar:aControls[ 8 ]:bAction, ;
               o:oBar:aControls[ 5 ]:LoadBitmaps( FWBitmap( "printer" ) ), ;
               o:oBar:aControls[ 6 ]:cTooltip  := o:oBar:aControls[ 9 ]:cToolTip, ;
               o:oBar:aControls[ 6 ]:bAction   := o:oBar:aControls[ 9 ]:bAction, ;
               o:oBar:aControls[ 6 ]:LoadBitmaps( FWBitmap( "Excel" ) ), ;
               o:oBar:aControls[ 7 ]:cTooltip  := "Exit", ;
               o:oBar:aControls[ 7 ]:bAction   := { | oBtt | oBtt:oWnd:oWnd:End() }, ;
               o:oBar:aControls[ 7 ]:LoadBitmaps( FWBitmap( "exit2" ) ), ;
               o:oBar:aControls[ 7 ]:lRight    := .T., ;
               AEval( o:oBar:aControls, { | oBtt | oBtt:End() }, 8, 9 ), ; 
               ASize( o:oBar:aControls, 7 ), ; 
               AEval( o:oBar:aControls, { | oBtt | oBtt:Refresh() } ), ;
               o:oBar:SetGradients(), ;
               o:oBar:Refresh() } , ;
               oBrw:bLDblClick:={|| nil } )
     ELSE
          oBrw:oWnd:bInit := { |oDlg| nil }
     ENDIF
Espero te sirva, un abrazo.
Quedo a tus 贸rdenes por cualquier pregunta.
Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: Impedir la ventana emergente de edici贸n de xbrowser [RESUELTO]
Posted: Mon Nov 03, 2025 05:11 PM
Estimado Jos茅, muchas gracias.
// C:\FWH\SAMPLES\MURUGOS4.PRG

#Include "FiveWin.ch"
#Include "WinApi.ch"
#Include "XBrowse.ch"

/*
  Modo de uso:  XBROWSER tabla title titulo SETUP XBrBar( oBrw, 1 )
  EstadoBar = 0 - Sin barra de botones ni edici贸n con doble click
  EstadoBar = 1 - Con barra de botones, desplazamiento y  excel  ni edici贸n con doble click
  EstadoBar = 2 - Con barra de botones, desplazamiento, excel e imprimir  ni edici贸n con doble click
  cualquier otro o si se omite el par谩metro - xbrowser sin limitaciones y con todos los botones
*/

STATIC oWnd

FUNCTION Main()

   LOCAL oBrw, EstadoBar, oIco, oBar, oBmp, oPopUp, oPopUp2, oPopUp3, oPopUp4, ;
         oPopUp5, oFont, oBtn := ARRAY(05)

   REQUEST DBFCDX
   rddSetDefault( "DBFCDX" )

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

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0, - 14
   DEFINE ICON oIco FILE "..\icons\fax.ico"

   DEFINE WINDOW oWnd FROM 1, 1 TO 22, 75 TITLE "Modelos de xBrowse SETUP"   ;
      MENU  BuildMenu() COLOR "B/W" ICON oIco

   DEFINE BUTTONBAR oBar _3D SIZE 60, 40 OF oWnd 2007

   WITH OBJECT oBar // VER: ANCHO.PRG

      oBar:bRClicked := { || ( NIL ) } // Mouse Direito
      oBar:bLClicked := { || ( NIL ) } // Mouse Esquerdo

      oBar:SetFont( oFont )
      // Cor no Prompt dos Botoes
      oBar:nClrText := CLR_BLACK //HBLUE // BLACK
      oBar:Adjust()

   END

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\new.bmp" FLAT            ;
      PROMPT "Model 0"                                                       ;
      ACTION ( XBrBar( oBrw, EstadoBar := 0 ) )                              ;
      TOOLTIP "Creates a new document"

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\open.bmp" FLAT           ;
      PROMPT "Model 1"                                                       ;
      ACTION ( XBrBar( oBrw, EstadoBar := 1 ) )                              ;
      TOOLTIP "Opens a document"

   // Aqui Jairo.
   GetnWidthItem( 0.8 ) // Ajusta con un valor < 1, y comprueba 0.8

   MENU oPopUp POPUP 2007 COLORS HEIGHT 2.27 FONT oFont

      MENUITEM "Cadastro de Clientes"                                        ;
         FILENAME "..\bitmaps\16x16\new.bmp"                                 ;
         MESSAGE "Cadastro de Clientes - Pesquisas."                         ;
         ACTION MsgInfo( Time() )

      SEPARATOR
      MENUITEM "Cadastro de Grupos"                                          ;
         FILENAME "..\bitmaps\16x16\open.bmp"                                ;
         MESSAGE "Cadastro de Grupos - Textos Auxiliares."                   ;
         ACTION MsgInfo( Time() )

      SEPARATOR
      MENUITEM "Cadastro de Ferramentas"                                     ;
          FILENAME "..\bitmaps\16x16\printer.bmp"                            ;
         MESSAGE OemToAnsi( "Cadastro de Ferramentas da Proposta" )          ;
         ACTION MsgInfo( Time() )

      SEPARATOR
      MENUITEM "Cadastro de M茫o de Obra"                                     ;
         FILENAME "..\bitmaps\16x16\prop.bmp"                                ;
         MESSAGE OemToAnsi( "Cadastro de M脝o de Obra" )                      ;
         ACTION MsgInfo( Time() )

      SEPARATOR
      MENUITEM "Cadastro de Paisagistas"                                     ;
         FILENAME "..\bitmaps\16x16\Help.bmp"                                ;
         MESSAGE OemToAnsi( "Cadastro de Paisagistas da Empresa" )           ;
         ACTION MsgInfo( Time() )

   ENDMENU

   // Aqui Jairo.
   DEFINE BUTTON oBtn[03] OF oBar ACTION oBtn[03]:ShowPopup() FLAT GROUP     ;
      FILENAME "..\bitmaps\16x16\floppy.bmp"                                 ;
      MESSAGE "Saves this document"                                          ;
      TOOLTIP "Saves this document"                                          ;
      MENU oPopup

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\printer.bmp" FLAT GROUP  ;
      PROMPT "Model 2"                                                       ;
      ACTION ( XBrBar( oBrw, EstadoBar := 2 ) )

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\prop.bmp" FLAT GROUP     ;
      PROMPT "Model 3"                                                       ;
      ACTION ( XBrBar( oBrw, EstadoBar := 3 ) )

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\HelpInd.bmp" FLAT        ;
      PROMPT "Model 4"                                                       ;
      ACTION ( XBrBar( oBrw, EstadoBar := 4 ) )

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\Help.bmp" FLAT           ;
      PROMPT "Model 5"                                                       ;
      ACTION ( XBrBar( oBrw, EstadoBar := 5 ) )

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\Close2.bmp" FLAT         ;
      PROMPT "Model 6"                                                       ;
      ACTION ( XBrBar( oBrw, EstadoBar := 6 ) )

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\Exit.bmp" FLAT           ;
      ACTION oWnd:End() TOOLTIP "Exit this app" GROUP

   DEFINE MESSAGE OF oWnd ;
      PROMPT FWVERSION + " " + FWCOPYRIGHT ;
      NOINSET CENTERED KEYBOARD DATE CLOCK 2007

   DEFINE BITMAP oBmp FILENAME "..\bitmaps\back.bmp"

   oWnd:bPainted = { | hDC | BmpTiled( hDC, oWnd, oBmp ) }

   ACTIVATE WINDOW oWnd CENTERED ;
      VALID MsgYesNo( "Do you want to quit ?" )

   oFont:End()

RETURN NIL

FUNCTION XBrBar( oBrw, EstadoBar )

   LOCAL i, oFont, oBtt, oDlg

   DEFINE FONT oFont   NAME "Ms Sans Serif" SIZE 0, -16 BOLD

   USE ..\samples\customer NEW SHARED

   IF EstadoBar = 0

      /* // error.
      XBROWSER "CUSTOMER" TITLE "Prueba 0" SETUP ;
        oBrw:oWnd:bInit := ;
             { |oDlg|
             WITH OBJECT oDlg
                  :oBar:Hide()
                  oBrw:nTop -= :oBar:nHeight
                  oBrw:nHeight += :oBar:nHeight
                  oBrw:bLDblClick:={|| nil }
             END
             }
      */

      XBROWSER "CUSTOMER" TITLE "Prueba 0" 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
         )

   ELSEIF EstadoBar = 1

       // Jose, no comprendo. ???
      // MURUGOS4.prg(193) Warning W0027  Meaningless use of expression: 'Codeblock'
      XBROWSER "CUSTOMER" TITLE "Prueba 1" SETUP ;
        oBrw:oWnd:bInit := ( ;
             { | o | ;
             o:oBar:l2010 := .F., ;
             o:oBar:l2013 := .F., ;
             o:oBar:l2015 := .T., ;
             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" ) ), ;
             o:oBar:aControls[ 6 ]:lRight    := .T., ;
             AEval( o:oBar:aControls, { | oBtt | oBtt:End() }, 7, 9 ), ;
             ASize( o:oBar:aControls, 7 ), ;
             AEval( o:oBar:aControls, { | oBtt | oBtt:Refresh() } ), ;
             o:oBar:SetGradients(), ;
             o:oBar:Refresh() }, ;
             oBrw:bLDblClick:={|| nil } )  // NO CLICK FUNCIONA

   ELSEIF EstadoBar = 2

      // MURUGOS4.prg(218) Warning W0027  Meaningless use of expression: 'Codeblock'
      XBROWSER "CUSTOMER" TITLE "Prueba 2" SETUP ;
      oBrw:oWnd:bInit := ( ;
           { | o | ;
           o:oBar:l2010 := .F., ;
           o:oBar:l2013 := .F., ;
           o:oBar:l2015 := .T., ;
           o:oBar:aControls[ 5 ]:cTooltip  := o:oBar:aControls[ 8 ]:cToolTip, ;
           o:oBar:aControls[ 5 ]:bAction   := o:oBar:aControls[ 8 ]:bAction, ;
           o:oBar:aControls[ 5 ]:LoadBitmaps( FWBitmap( "printer" ) ), ;
           o:oBar:aControls[ 6 ]:cTooltip  := o:oBar:aControls[ 9 ]:cToolTip, ;
           o:oBar:aControls[ 6 ]:bAction   := o:oBar:aControls[ 9 ]:bAction, ;
           o:oBar:aControls[ 6 ]:LoadBitmaps( FWBitmap( "Excel" ) ), ;
           o:oBar:aControls[ 7 ]:cTooltip  := "Exit", ;
           o:oBar:aControls[ 7 ]:bAction   := { | oBtt | oBtt:oWnd:oWnd:End() }, ;
           o:oBar:aControls[ 7 ]:LoadBitmaps( FWBitmap( "exit2" ) ), ;
           o:oBar:aControls[ 7 ]:lRight    := .T., ;
           AEval( o:oBar:aControls, { | oBtt | oBtt:End() }, 8, 9 ), ;
           ASize( o:oBar:aControls, 7 ), ;
           AEval( o:oBar:aControls, { | oBtt | oBtt:Refresh() } ), ;
           o:oBar:SetGradients(), ;
           o:oBar:Refresh() }, ;
           oBrw:bLDblClick:={|| nil } ) // NO CLICK FUNCIONA

   ELSEIF EstadoBar = 3

      XBROWSER "customer" TITLE "Prueba 3" 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()                                                     ;
         } )

   ELSEIF EstadoBar = 4

      XBROWSER "CUSTOMER" TITLE "Prueba 4" 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 )) } ;
         )

   ELSEIF EstadoBar = 5

      XBROWSER "CUSTOMER" TITLE "Prueba 5" 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()                                                  ;
         } )

   ELSEIF EstadoBar = 6  // navarro:

     XBROWSER "customer" TITLE "Prueba 6" 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() }, ;
           oBrw:bLDblClick:={|| nil } )  // NO CLICK FUNCIONA

   ENDIF

   CLOSE DATABASE

RETURN NIL

FUNCTION BuildMenu()

   LOCAL oMenu

   MENU oMenu 2007
      MENUITEM "Information"
      MENU
         MENUITEM "&About..." ;
            ACTION MsgInfo( FWDESCRIPTION ) ;
            FILENAME "..\bitmaps\16x16\info.bmp"
         SEPARATOR
         MENUITEM "&End..."  ;
            ACTION oWnd:End() FILENAME "..\bitmaps\16x16\exit.bmp"

      ENDMENU

      MENUITEM "&Clients"
      MENU
         MENUITEM "&New..." ;
            ACTION ( MsgStop( "New Clients" ),;
                     oWnd:Say( 5, 5, "New Clients...", "GR+/G" ) ) ;
            FILENAME "..\bitmaps\16x16\faces.bmp"

         MENUITEM "&Modify..."  ACTION MsgInfo( "Modif. Clients" ) ;
            FILENAME "..\bitmaps\edit.bmp"

         MENUITEM "&Delete..."  ACTION MsgAlert( "Del Clients" ) ;
            FILENAME "..\bitmaps\16x16\delete.bmp"

         SEPARATOR

         MENUITEM "&Browse..."  ACTION MsgInfo( "Browse Clients" ) ;
            FILENAME "..\bitmaps\16x16\browse.bmp"

      ENDMENU

      MENUITEM "&Utilities"
      MENU
         MENUITEM "&Calculator..." ACTION WinExec( "Calc" ) ;
            FILENAME "..\bitmaps\16x16\calc.bmp"

         MENUITEM "&Internet..." ;
            ACTION WinExec( "start iexplore www.fivetech.com", 0 ) ;
            FILENAME "..\bitmaps\16x16\explorer.bmp"
      ENDMENU
   ENDMENU

RETURN( oMenu )

STATIC FUNCTION BmpTiled( hDC, oWnd, oBmp )

   local nWidth := oWnd:nWidth(), nHeight := oWnd:nHeight()
   local nRow := 0, nCol := 0, n
   local nBmpWidth  := oBmp:nWidth(),  nBmpHeight := oBmp:nHeight()

   if oBmp:hBitmap == 0
      return nil
   endif

   while nRow < nHeight
      nCol = 0
      while nCol < nWidth
         PalBmpDraw( hDC, nRow, nCol, oBmp:hBitmap )
         nCol += nBmpWidth
      end
      nRow += nBmpHeight
   end

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion