FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Tooltip celdas xbrowse
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Tooltip celdas xbrowse
Posted: Mon Apr 06, 2020 07:52 PM
Buenas tardes para todos,

En esta ocasi贸n quiero mostrar un tooltip sobre una celda de un xbrowse (array), buscando en el foro encontr茅 algo similar a lo que deseo hacer, con este c贸digo ejemplo, se muestra en el tooltip la informaci贸n de la celda referencia, pero lo que necesito que se muestre en el tooltip es el valor de la columna descripci贸n.

Code (fw): Select all Collapse
#include "FiveWin.ch"
#include "xbrowse.ch"

function Test()

local oDlg, oBrw
local aArray := {}
local nI
local hLinea := {=>}
local oCol

hLinea["id"] := 1
hLinea["referencia"] := "REFERENCIA1"
hLinea["descripcion"] := "LA DESCRIPCION DE LA REFERENCIA NUMERO 1"
hLinea["valor"] := 150000
AADD(aArray,hLinea)
hLinea := {=>}

hLinea["id"] := 2
hLinea["referencia"] := "REFERENCIA2"
hLinea["descripcion"] := "LA DESCRIPCION DE LA REFERENCIA NUMERO 2"
hLinea["valor"] := 250000
AADD(aArray,hLinea)
hLinea := {=>}

hLinea["id"] := 3
hLinea["referencia"] := "REFERENCIA3"
hLinea["descripcion"] := "LA DESCRIPCION DE LA REFERENCIA NUMERO 3"
hLinea["valor"] := 350000
AADD(aArray,hLinea)
hLinea := {=>}

DEFINE DIALOG oDlg Title "Test de Botones en xBrowse " size 700,300

oBrw:= txbrowse():new( oDlg )
oBrw:nRowHeight := 25
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:nRowDividerStyle := LINESTYLE_BLACK

oCol 聽 聽 聽 聽 聽= oBrw:AddCol()
oCol:bStrData := {|| if(Len( aArray ) > 0 , aArray[oBrw:nArrayAt]["id"] ,"" ) }
oCol:cHeader 聽= "id"
oCol:nWidth 聽 = 55
oCol:nHeadStrAlign = AL_LEFT
oCol:nDataStrAlign = AL_LEFT聽 聽 

oCol 聽 聽 聽 聽 聽= oBrw:AddCol()
oCol:bStrData := {|| if(Len( aArray ) > 0 , aArray[oBrw:nArrayAt]["referencia"] ,"" ) }
oCol:cHeader 聽= "referencia"
oCol:nWidth 聽 = 150
oCol:nHeadStrAlign = AL_LEFT
oCol:nDataStrAlign = AL_LEFT聽 聽 
oCol:bToolTip := { | oBrw,r,c,f,oMouseCol,nMouseRow| MyColToolTip( oBrw,r,c,f,oMouseCol,nMouseRow ) }
聽 聽 
oCol 聽 聽 聽 聽 聽= oBrw:AddCol()
oCol:bStrData := {|| if(Len( aArray ) > 0 , aArray[oBrw:nArrayAt]["valor"] ,"" ) }
oCol:cHeader 聽= "valor"
oCol:nWidth 聽 = 90
oCol:nHeadStrAlign = AL_LEFT
oCol:nDataStrAlign = AL_LEFT聽 聽 

oBrw:SetArray( aArray )
oBrw:CreateFromCode()

ACTIVATE DIALOG oDlg center;
ON INIT ( oDlg:oClient := oBrw, ;
oDlg:ReSize() )

return nil

Function MyColToolTip( oBrw, r, c, f, oMouseCol, nMouseRow )

聽 聽local uBm, uVal
聽 聽if nMouseRow != oBrw:nRowSel
聽 聽 聽 uBm 聽 := oBrw:BookMark
聽 聽 聽 Eval( oBrw:bSkip, nMouseRow - oBrw:nRowSel ) 聽 //here 聽(variable nMouseRow do not exists)
聽 聽 聽 uVal 聽:= oMouseCol:Value
聽 聽 聽 oBrw:BookMark := uBm
聽 聽else
聽 聽 聽 uVal 聽:= oMouseCol:Value
聽 聽endif 聽
聽 聽
return cValToChar( uVal )


Espero haberme hecho entender, de antemano gracias.
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]

Continue the discussion