FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Swap con xbrowse
Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM

Swap con xbrowse

Posted: Sun Oct 04, 2009 07:59 PM
Bueno,

Antes que nada, saludos amigos.

Mi problema es el siguiente, resulta que le coloco una imagen a la columna que tiene el orden esa imagen la adiciono de la siguiente manera:

Code (fw): Select all Collapse
   aHeadclick    := { ;
                      {{|| oBrw:headimage( 1 ), worderby( 1 )}, "Estrella", .t.}, ;
                      {{|| oBrw:headimage( 2 ), worderby( 2 )}, "Estrella"}, ;
                      {{|| oBrw:headimage( 3 ), worderby( 3 )}, "Estrella"}, ;
                      {{|| oBrw:headimage( 4 ), worderby( 4 )}, "Estrella"}, ;
                      {{|| oBrw:headimage( 5 ), worderby( 5 )}, "Estrella"}, ;
                      {{|| oBrw:headimage( 6 ), worderby( 6 )}, "Estrella"} ;
                    }


Y de la siguiente manera lo adiciono al bloque para que sea ejecutado al darle click.
Code (fw): Select all Collapse
oBrw:sethbclick( aHeadClick )


Y en una clase que personalice hago lo siguiente para que asigne el bloque correspondiente.

Code (fw): Select all Collapse
METHOD sethbclick( xHeadClick )
   LOCAL xHead := {}
   LOCAL nItem := 0

   FOR EACH xHead IN xHeadClick
      WITH OBJECT ::aCols[ HB_EnumIndex() ]
         IF ValType( xHead ) == "B"
            :bLClickHeader := xHead
         ELSEIF ValType( xHead ) == "A"
            FOR nItem := 1 TO LEN( xHead )
               IF ValType(xHead[ nItem ]) == "B"
                  :bLClickHeader := xHead[ nItem ]
               ELSEIF ValType(xHead[ nItem ]) == "O"
                  :oDataFont     := xHead[ nItem ]
               ELSEIF ValType(xHead[ nItem ]) == "C"
                  IF "." $ xHead[ nItem ]
                     :AddBmpFile( xHead[ nItem ] )
                  ELSE
                     :AddResource( xHead[ nItem ] )
                  ENDIF
               ELSEIF ValType( xHead[ nItem ] ) == "N"
                  :AddBmpHandle( xHead[ nItem ] )
               ELSEIF ValType( xHead[ nItem ] ) == "A"
                  :bClrSel := { || xHead[ nItem ] }
               ELSEIF ValType( xHead[ nItem ] ) == "L"
                  :nHeadBmpNo := IF( xHead[ nItem ], 1, 0 )
               ENDIF
            NEXT
         ENDIF
      END
   NEXT

   RETURN NIL


Bueno, hasta ahí todo en orden, el problema viene, cuando se hace swap de las columnas, pues se mantiene lo del orden, pero la imagen no se coloca donde debe, siempre respeta el numero de la columna en tiempo real, quiere decir que si la imagen debe de marcar en la columna 2 pero la columna dos la moví físicamente a la columna 1 la imagen sigue quedándose o pintándose en la columna física 2.

Alguna idea?

Gracias de antemano.

PD. Daniel te he enviado un correo via gmail, ojala y puedas leerlo. Gracias
William, Morales

Saludos



méxico.sureste
Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM

Re: Swap con xbrowse

Posted: Mon Oct 05, 2009 08:26 AM
Me respondo.

Con solo agregar:
Code (fw): Select all Collapse
oBrw:aCols[1]:nCreationOrder


Eso solucionĂł mi problema.

ahora todo en orden.

gracias por leer
William, Morales

Saludos



méxico.sureste

Continue the discussion