Desaparecen Bitmaps en columnas XBROWSE(SOLUCIONADO)

Desaparecen Bitmaps en columnas XBROWSE(SOLUCIONADO)

Postby jvtecheto » Sat Jan 04, 2020 4:50 pm

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  Expand view  RUN

   :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 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 601
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Desaparecen Bitmaps en columnas XBROWSE

Postby Armando » Sat Jan 04, 2020 4:53 pm

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
Armando
 
Posts: 3235
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Desaparecen Bitmaps en columnas XBROWSE

Postby cnavarro » Sat Jan 04, 2020 5:21 pm

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  Expand view  RUN

xbrowse( aDbfBmps )
 
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: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Desaparecen Bitmaps en columnas XBROWSE

Postby jvtecheto » Mon Jan 06, 2020 10:49 am

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  Expand view  RUN

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  Expand view  RUN

FUNCTION GetDbfBmpsMain()
RETURN aDbfBmps
 

y la llamo desde el modulo que creo la ventana hija con esto.
Code: Select all  Expand view  RUN

LOCAL aDbfBmps := GetDbfBmpsMain()
 

como comento todo esto con listbox perfecto.
Code: Select all  Expand view  RUN

@ 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  Expand view  RUN

@ 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 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 601
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Desaparecen Bitmaps en columnas XBROWSE

Postby cnavarro » Mon Jan 06, 2020 11:42 am

Define las columnas algo asi

Code: Select all  Expand view  RUN

         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
 
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: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Desaparecen Bitmaps en columnas XBROWSE(SOLUCIONADO)

Postby jvtecheto » Mon Jan 06, 2020 2:29 pm

Muchas gracias Cristobal.

Solucionado con AddBitmap.

Un abrazo y feliz dia de Reyes.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
User avatar
jvtecheto
 
Posts: 601
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Desaparecen Bitmaps en columnas XBROWSE(SOLUCIONADO)

Postby cnavarro » Mon Jan 06, 2020 4:46 pm

Jose, es importante que definas el tipo de columna: en este caso ( :cDataType := 'F' ), para indicar que contendrá imágenes
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: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 64 guests