Desaparecen Bitmaps en columnas XBROWSE(SOLUCIONADO)

Post Reply
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Desaparecen Bitmaps en columnas XBROWSE(SOLUCIONADO)

Post by jvtecheto »

Hola foro:

Coloco bitmaps en las columnas del XBROWSE y funciona muy bien la primera vez que abro la ventaja hija
en donde esta el XBROWSE. Lo hago de la siguiente manera

Code: Select all

   :aCols[1]:AddResource( aDbfBmps )
      :aCols[1]:bBmpData := {|| IIF( Emp->Cerrada, 4, 3 ) }
      :aCols[2]:AddResource( aDbfBmps )
      :aCols[2]:bBmpData := {|| IIF( Emp->Activo, 1, 2 ) }   
 
Pero, sorprendentemente la segunda vez y sucesivas que muestro el XBROWSE o sea cierro la ventaja hija
y la vuelvo a mostrar, salen las 2 columnas en blanco.
Antes usando el LISTBOX no ocurria ese comportamiento.

Espero vuestras ayudas, sugerencias.

Saludos

Jose.
Last edited by jvtecheto on Mon Jan 06, 2020 2:28 pm, edited 1 time in total.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Desaparecen Bitmaps en columnas XBROWSE

Post by Armando »

jvtecheto:

Solo una idea, ¿será que al cerrar la ventana hija también destruyes el bitmap (oBmp:END()?, como dije
es solo una idea.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Desaparecen Bitmaps en columnas XBROWSE

Post by cnavarro »

Jose, cuando entres en la function que hace la ventana "hija" en la que te aparece el problema, pon al principio, antes de definir el xbrowse ( a modo de debug para ver el contenido de ese array )

Code: Select all

xbrowse( aDbfBmps )
 
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Desaparecen Bitmaps en columnas XBROWSE

Post by jvtecheto »

Gracias Armando y Cristobal por vuestro interes.

Pero no consigo resolverlo.
Por dar mas datos el codigo que os comento funciona perfecto en LISTBOX, pero como estoy migrando todas las rejillas a XBROWSE me aparece este problema.

mirad cargo los bitmaps en el modulo principal de la aplicacion con esto, aDbfBmps es una variable estatica.

Code: Select all

aDbfBmps = { LoadBitmap( GetResources(), "CHECKED" ), ;  // Activo  1
                LoadBitmap( GetResources(), "UNCHECKED" ), ;   // Desactivado 2
                LoadBitmap( GetResources(), "CANDADO2" ), ;  // Abierto  3
                LoadBitmap( GetResources(), "CANDADO1" )  } // Cerrado  4
 
utilizo esta funcion para exportar a otros modulos.

Code: Select all

FUNCTION GetDbfBmpsMain() 
RETURN aDbfBmps 
 
y la llamo desde el modulo que creo la ventana hija con esto.

Code: Select all

LOCAL aDbfBmps := GetDbfBmpsMain()
 
como comento todo esto con listbox perfecto.

Code: Select all

@ 2, 0 LISTBOX Empw ;
         FIELDS aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ], aDbfBmps[ IF( Emp->Activo, 1, 2 ) ], Emp->codigo, Emp->Nombre, Emp->Ano ;
         ALIAS cAlias HEADERS "E", "A", "CODIGO", "NOMBRE", "AÑO TRABAJO" VALID ( SaveIniCol( Empw, cAlias ), .T. ) ;
         .... sigue codigo
 
Ahora con XBROWSE

Code: Select all

@ 2, 0 XBROWSE Empw DATASOURCE cAlias ; 
          COLUMNS "", "", "codigo", "Nombre", "Ano" ;
          HEADERS "E", "A", "CODIGO", "NOMBRE", "AÑO TRABAJO" CELL LINES AUTOSORT;  
          OF oWndEmp UPDATE STYLE 2007 ;
          ... sigue codigo.
WITH OBJECT Empw 
      :aCols[1]:AddResource( aDbfBmps )
      :aCols[1]:bBmpData := {|| IIF( Emp->Cerrada, 4, 3 ) }
      :aCols[2]:AddResource( aDbfBmps )
      :aCols[2]:bBmpData := {|| IIF( Emp->Activo, 1, 2 ) }    
      :nColDividerStyle := LINESTYLE_LIGHTGRAY
      :nRowDividerStyle := LINESTYLE_LIGHTGRAY
      :nMarqueeStyle    := MARQSTYLE_HIGHLROW
      /* busqueda incremental integrada
      :lSeekBar    := .T.
      :bClrEdits  := { || { CLR_HRED, CLR_YELLOW } } */
      :bClrStd  := { || IIF( Eval( Empw:bKeyNo,,Empw) % 2 == 0, { CLR_BLACK, color1}, { CLR_BLACK, color2 } ) }
      :bKeyDown := { | nKey | IIf( nKey == 13, EditEmpres( Empw,.F. ), Empw:Refresh() ) }
      
      :CreateFromCode()
   END WITH   

 
La primera vez que abro la ventaja hija perfecto.
La segunda vez las dos columnas salen en blanco, sin datos
Si cierro el programa y lo abro, igual comportamiento.
probando la solucion de Cristobal en ambos XBROWSE me aparece esta pantalla.

Image

Si teneis otra manera de mostrar los bitmaps por favor decidmela.

Saludos

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Desaparecen Bitmaps en columnas XBROWSE

Post by cnavarro »

Define las columnas algo asi

Code: Select all

         WITH OBJECT :aCols[ 2 ]
            :lAllowSizing    := .F.
            :cDataType       := 'F'
            :nDataBmpAlign   := AL_CENTER
            //:lBmpTransparent := .T.
            :lBmpStretch     := .F.
            :AddBitmap( { "VPushRemote0", "VPushRemote1", "VPushRemote2" } )
            :bBmpData        := { || if( < condicion >, 2,  3  ) }    // Nº de imagen a devolver
         END
 
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Desaparecen Bitmaps en columnas XBROWSE(SOLUCIONADO)

Post by jvtecheto »

Muchas gracias Cristobal.

Solucionado con AddBitmap.

Un abrazo y feliz dia de Reyes.

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Desaparecen Bitmaps en columnas XBROWSE(SOLUCIONADO)

Post by cnavarro »

Jose, es importante que definas el tipo de columna: en este caso ( :cDataType := 'F' ), para indicar que contendrá imágenes
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Post Reply