Impedir la ventana emergente de edición de xbrowser [RESUELTO]

Post Reply
User avatar
jose_murugosa
Posts: 1279
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Impedir la ventana emergente de edición de xbrowser [RESUELTO]

Post by jose_murugosa »

Queridos Compañeros del foro,
En un xbrowser he ocultado los botones de edición.

Éste es el código:

Code: Select all | Expand

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.
Last edited by jose_murugosa on Fri Oct 31, 2025 3:08 pm, edited 1 time in total.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
User avatar
carlos vargas
Posts: 1815
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Impedir la ventana emergente de edición de xbrowser

Post by carlos vargas »

Y si modificas
o:bDblClick :={|| nil }
?
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
jose_murugosa
Posts: 1279
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Re: Impedir la ventana emergente de edición de xbrowser

Post by jose_murugosa »

carlos vargas wrote: Thu Oct 30, 2025 7:41 pm Y si modificas
o:bDblClick :={|| nil }
?
Gracias por tu respuesta Carlos.

Probé y me da este error:

Code: Select all | Expand

 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!!"
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Impedir la ventana emergente de edición de xbrowser

Post by Antonio Linares »

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
User avatar
carlos vargas
Posts: 1815
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Impedir la ventana emergente de edición de xbrowser

Post by carlos vargas »

En todo caso sería oBrw:bDblClick.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
jose_murugosa
Posts: 1279
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Re: Impedir la ventana emergente de edición de xbrowser

Post by jose_murugosa »

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!!"
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Impedir la ventana emergente de edición de xbrowser

Post by karinha »

jose_murugosa wrote: Fri Oct 31, 2025 3: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.
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
User avatar
jose_murugosa
Posts: 1279
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Re: Impedir la ventana emergente de edición de xbrowser

Post by jose_murugosa »

karinha wrote: Fri Oct 31, 2025 3:39 pm
jose_murugosa wrote: Fri Oct 31, 2025 3: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.
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

Code: Select all | Expand

#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!!"
User avatar
karinha
Posts: 8720
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Impedir la ventana emergente de edición de xbrowser [RESUELTO]

Post by karinha »

Estimado José, muchas gracias.

Code: Select all | Expand

// 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 - [email protected]
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Post Reply