FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Leer una celda en un TxBrowse()
Posts: 365
Joined: Sat Oct 08, 2005 07:59 PM
Leer una celda en un TxBrowse()
Posted: Mon May 01, 2006 12:35 PM
Estoy intentando hacer que al mover el rat贸n sobre un TxBrowse un campo Say me indique el contenido de las celdas sobre las que pasa el rat贸n, sin necesidad de clicar en ninguna de ellas. Hasta ahora he llegado aqu铆:
     @ 1,1 SAY ::oSay .....   // Para ver el contenido de cada celda
     oBrw:bMMoved := {|nR,nC| ::LeerCelda(nR, nC)}   // esto va Ok
......

METHOD LeerCelda(nR,nC)
nRow  := ::oBrw:MouseRowPos(nR)
nCol  := ::oBrw:MouseColPos(nC)
cData := ?????
::oSay:VarPut(STR(nRow)+STR(nCol) +"  "+ cData)
RETURN NIL

La pregunta, obviamente, es 驴c贸mo hago para obtener cData, o sea, el contenido de cada celda en nRow, nCol sin clicar en ella? 驴Alguien podr铆a echarme una mano? Gracias
Rafael
Posts: 205
Joined: Fri Oct 07, 2005 05:07 PM
Leer una celda en un TxBrowse()
Posted: Tue May 02, 2006 05:22 PM

cData := Eval( oBrw:aCols[ nCol ]:bStrData, oBrw )

Saludos/regards

RenOmaS



skype: americo.balboa
Posts: 365
Joined: Sat Oct 08, 2005 07:59 PM
Leer una celda en un TxBrowse()
Posted: Tue May 02, 2006 05:38 PM

Pues casi, pero no...

Efectivamente, tu soluci贸n lee el valor de la celda CUANDO SE CLICA EN ELLA. Creo que lo que yo necesito es una funci贸n m谩s o menos as铆:

cData := MiFunci贸n(nR, nC), que se llamar铆a desde oBrw:bMMoved

La idea es que devuelve cData al pasar el rat贸n sobre la celda, no al clicar.

De todas formas, muchas gracias

Rafael

Posts: 205
Joined: Fri Oct 07, 2005 05:07 PM
Leer una celda en un TxBrowse()
Posted: Tue May 02, 2006 05:51 PM

revisando la clase twindow . esta evalua bMMoved.. deberias poner un flag para poder trazar si es que efectivamentente llama a este bloque dentro del metodo MouseMove().

Tambien intenta devolver 0 en tu funcion... es decir Return 0

;)

Saludos/regards

RenOmaS



skype: americo.balboa
Posts: 365
Joined: Sat Oct 08, 2005 07:59 PM
Leer una celda en un TxBrowse()
Posted: Tue May 02, 2006 05:59 PM
Si. Mi m茅todo se eval煤a al mover el rat贸n. Es solamente esto:
::oBrw:bMMoved := {|y,x| ::LeerCelda(x,y)}

METHOD LeerCelda(x,y) CLASS TWorkLoad
LOCAL nCol  := ::oBrw:MouseColPos(x)
LOCAL nRow  := ::oBrw:MouseRowPos(y)
LOCAL cData
IF nCol > 0
   cData := Eval(::oBrw:aCols[ nCol ]:bStrData, ::oBrw )
   ::oSay:VarPut(STR(nCol,3,0) + STR(nRow,3,0) + "  " + cData)
   ::oSay:Refresh()
ENDIF
RETURN 0

S茅 que se eval煤a porque al mover el rat贸n, nCol y nRow se actualizan en pantalla. 驴Es esto a lo que te refer铆as?
Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM
Re: Leer una celda en un TxBrowse()
Posted: Mon Jun 04, 2012 10:47 PM

Hola Rafael, he visto tu post y me intereso saber si lograste hacer que al pasar con el mouse sobre una celda del txbrowse poder leer el dato de la misma.
Comento que estoy desarrollando un almanaque personalizado y me seria interesante al pasar sobre el dia en cuestion poder iluminar dicha celda o cualquier otro efecto.
Te agradezco cualquier ayuda que puedas darme.
Saludos
Marcelo

FWH - Harbour - BCC7 - PellesC
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Leer una celda en un TxBrowse()
Posted: Tue Jun 05, 2012 03:45 AM

Revisa este link a ver si te ayuda en algo...saludos... :shock:

viewtopic.php?f=6t=22975start=0

&&

Dios no est谩 muerto...



Gracias a mi Dios ante todo!
Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM
Re: Leer una celda en un TxBrowse()
Posted: Tue Jun 05, 2012 02:00 PM

Gracias Jose Luis por el post, leo y pruebo, luego comento
Saludos
Marcelo

FWH - Harbour - BCC7 - PellesC
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: Leer una celda en un TxBrowse()
Posted: Tue Jun 05, 2012 02:37 PM
Rafa,
se me ocurre que mandes un click a la posicion de esta forma a ver si te devuelve el valor

#define WM_CLICK 245

METHOD LeerCelda(x,y) CLASS TWorkLoad
LOCAL nCol := ::MouseColPos(x)
LOCAL nRow := ::MouseRowPos(y)
LOCAL cData
IF nCol > 0
cData := Eval(::aCols[ nCol ]:bStrData, ::oBrw )
cData := ::PostMsg(WM_CLICK,13,0)
::VarPut(STR(nCol,3,0) + STR(nRow,3,0) + " " + cData)
::Refresh()
ENDIF
RETURN 0


saludos
paco
____________________

Paco

Continue the discussion