FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour xBrowse tooltip
Posts: 253
Joined: Wed May 25, 2016 01:04 AM
xBrowse tooltip
Posted: Tue Jan 27, 2026 01:11 AM

Hola, tengo un XBrowse que cambia el color de la línea según el valor de un campo de archivo. Funciona bien, pero me gustaría mostrar uno tooltip emergente al pasar el ratón sobre esa línea, en cualquier columna. Tengo problemas. ¿Algún consejo?

Meu Código:

Lista1:bClrStd := {|| {CLR_BLUE, iif(LANBAN->FECHADO="S", CLR_HGRAY, CLR_WHITE) } }

Lista1:bToolTip := { || ; IIF( Upper(AllTrim( LANBAN->FECHADO )) == "S", ; "Data de fechamento: " + Dtoc(LANBAN->DATAFECH) + CRLF + ; "Horas: " + AllTrim(LANBAN->HORAS) + CRLF + ; "Saldo: " + Transform( LANBAN->SALDO, "9,999,999,999.99" ), ; NIL ) }

Gracias

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: xBrowse tooltip
Posted: Tue Jan 27, 2026 07:04 AM

Solución para Tooltips por Fila en XBrowse


El problema con tu código es que estás usando Lista1:bToolTip, pero esta propiedad no funciona de la manera que necesitas para mostrar tooltips diferentes por fila. En XBrowse, bToolTip es para el control completo, no evalúa dinámicamente por cada fila.


La Solución Correcta


Para mostrar tooltips que cambien según el valor de cada fila, debes usar bCellToolTips a nivel del browse, que es evaluado para cada celda:


Code (foxpro): Select all Collapse
Lista1:bCellToolTips := { |oCol| ;  
   IIF( Upper(AllTrim( LANBAN->FECHADO )) == "S", ;  
       "Data de fechamento: " + Dtoc(LANBAN->DATAFECH) + CRLF + ;  
       "Horas: " + AllTrim(LANBAN->HORAS) + CRLF + ;  
       "Saldo: " + Transform( LANBAN->SALDO, "9,999,999,999.99" ), ;  
       NIL ) }

0-cite-0


Cómo Funciona


El codeblock bCellToolTips recibe como parámetro el objeto de la columna (oCol) y debe retornar:

  • Un string con el texto del tooltip
  • Un array { cTexto, cTítulo } para tooltip con título
  • NIL si no quieres mostrar tooltip en esa celda

El sistema de tooltips de XBrowse verifica en este orden dentro del método MouseMove:

  1. Primero oCol:bCellToolTip (tooltip específico de columna)
  2. Luego oCol:bToolTip (con más parámetros)
  3. Y también considera bCellToolTips a nivel de browse 0-cite-1

Ejemplo Alternativo


También puedes usar bCellToolTips de forma más simple para mostrar el valor de cada celda: 0-cite-2


Alternativa por Columna


Si solo necesitas el tooltip en una columna específica, puedes usar bCellToolTip en esa columna: 0-cite-3

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: xBrowse tooltip
Posted: Tue Jan 27, 2026 02:52 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 253
Joined: Wed May 25, 2016 01:04 AM
Re: xBrowse tooltip
Posted: Tue Jan 27, 2026 07:56 PM
Antonio Linares wrote:

Solución para Tooltips por Fila en XBrowse


El problema con tu código es que estás usando Lista1:bToolTip, pero esta propiedad no funciona de la manera que necesitas para mostrar tooltips diferentes por fila. En XBrowse, bToolTip es para el control completo, no evalúa dinámicamente por cada fila.


La Solución Correcta


Para mostrar tooltips que cambien según el valor de cada fila, debes usar bCellToolTips a nivel del browse, que es evaluado para cada celda:


Code (foxpro): Select all Collapse
Lista1:bCellToolTips := { |oCol| ;  
   IIF( Upper(AllTrim( LANBAN->FECHADO )) == "S", ;  
       "Data de fechamento: " + Dtoc(LANBAN->DATAFECH) + CRLF + ;  
       "Horas: " + AllTrim(LANBAN->HORAS) + CRLF + ;  
       "Saldo: " + Transform( LANBAN->SALDO, "9,999,999,999.99" ), ;  
       NIL ) }

0-cite-0


Cómo Funciona


El codeblock bCellToolTips recibe como parámetro el objeto de la columna (oCol) y debe retornar:

  • Un string con el texto del tooltip
  • Un array { cTexto, cTítulo } para tooltip con título
  • NIL si no quieres mostrar tooltip en esa celda

El sistema de tooltips de XBrowse verifica en este orden dentro del método MouseMove:

  1. Primero oCol:bCellToolTip (tooltip específico de columna)
  2. Luego oCol:bToolTip (con más parámetros)
  3. Y también considera bCellToolTips a nivel de browse 0-cite-1

Ejemplo Alternativo


También puedes usar bCellToolTips de forma más simple para mostrar el valor de cada celda: 0-cite-2


Alternativa por Columna


Si solo necesitas el tooltip en una columna específica, puedes usar bCellToolTip en esa columna: 0-cite-3

Gracias Antonio!

Posts: 253
Joined: Wed May 25, 2016 01:04 AM

Continue the discussion