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.
Si teneis otra manera de mostrar los bitmaps por favor decidmela.
Saludos
Jose.