Page 1 of 1

TWBrowse - en que columna hago DBlclick?

PostPosted: Wed May 21, 2008 10:35 pm
by rolando
Buenas tardes,

Uso la TWBrowse de HC. Necesito conocer la columna en la que hago un doble click con el mouse para poder editar esa celda o cambiarle el bitmap (marcado/desmarcado).

En el ejemplo que adjunto funciona bién, pero sólo puedo actuar sobre la columna 3 (porque se lo indico). ¿Cómo hago para saber en que columna estoy haciendo el doble click?.

Gracias.

Rolando :D

Code: Select all  Expand view

function ListoAccesorios()

   local oDlg , oLbx , aBitmaps
   local aAccesorios:= {{.t. , "ANTENA"} , {.t. , "MEMORY STICK"} , {.f. , "CORREA"}}

   aBitmaps:= {LoadBitmap (GetResources(),"CHECKON") , LoadBitmap (GetResources(),"CHECKOFF") }

   define dialog oDlg resource "LISTA_ACCESORIOS" of oWnd

   redefine listbox oLbx fields ;
         if (aAccesorios[oLbx:nAt,1] , aBitmaps[1] , aBitmaps[2]) , ;
         aAccesorios[oLbx:nAt,2] , ;
         str(aAccesorios[oLbx:nAt,3]) ;
         id 4001 ;
         head "a","Accesorio" , "Cantidad"   ;
         of oDlg


   oLbx:bLDblClick := {|| uVar := aAccesorios[oLbx:nAt,3] , oLbx:lEditCol(3,@uVar) , ;
                                 aAccesorios[oLbx:nAt,3] := uVar , oLbx:refresh() }

   oLbx:setarray(aAccesorios)
   oLbx:bLogicLen := { || len( aAccesorios ) }

   activate dialog oDlg center

return nil




PostPosted: Thu May 22, 2008 2:29 am
by rolando
Ya lo encontré,

Haciendo un oLbx:bEdit:= {|nCol| MiFuncion(nCol)}

Le paso el nro de columna a una función y en ella indico la acción a tomar cuando se edita una celda.

Rolando :D