FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Mostrar tooltip (c5) con formato celda xbrowse
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Mostrar tooltip (c5) con formato celda xbrowse
Posted: Thu Sep 23, 2021 06:10 AM
Buenas tardes para todos,

Cambie la pregunta, por que parece que no tiene respuesta jejejejeje.

Se puede utilizar c5tooltip, sobre las celdas del xbrowse?
Funciona perfecto para los btn, pero intente colocarlo sobre el xbrowse y nada se revienta la aplicación. :-)

De antemano gracias

Code (fw): Select all Collapse
// This sample shows how to easily implement 'tool-tips' in FiveWin!

#include "FiveWin.ch"

static oWnd

//----------------------------------------------------------------------------//

function Main()

   local oBar, oBtn
   SetResDebug( .T. )

   DEFINE WINDOW oWnd TITLE "ToolTips in FiveWin!"

   DEFINE BUTTONBAR oBar 3D SIZE 33, 33 OF oWnd

   DEFINE BUTTON OF oBar ACTION MsgInfo( "One" )   TOOLTIP "This is a long tooltip"
   DEFINE BUTTON OF oBar ACTION MsgInfo( "Two" )   TOOLTIP "Two"
   DEFINE BUTTON OF oBar ACTION MsgInfo( "Three" ) TOOLTIP "Three"
   DEFINE BUTTON OF oBar ACTION MsgInfo( "Four" )  TOOLTIP "Four"

   @ 10, 8 BUTTON oBtn PROMPT "Where is my tooltip?" SIZE 180, 28 OF oWnd ;
      ACTION MsgInfo( "Oh! Thanks!" )

   // Manipulate directly the cToolTip DATA of other controls than ButtonBitmaps
   oBtn:cToolTip = { || HazC5ToolTip( oBtn ) } //"Here it is!"

   SET MESSAGE OF oWnd ;
     TO "FiveWin: CA-Clipper, xBase && OOPS development power" CENTER

   ACTIVATE WINDOW oWnd

   if File( "checkres.txt" )
      FErase( "checkres.txt" )
   endif
   CheckRes()

return nil

//----------------------------------------------------------------------------//

Function HazC5ToolTip( oCtrl )
Local oTip
//New( nTop, nLeft, nWidth, nHeight, oWnd, lDisenio, nClrPane, nClrPane2, nClrText, nWRadio, nHRadio ) CLASS TC5ToolTip
oTip := TC5ToolTip():New( 0 , 0 , 200, 150, oWnd, , CLR_GRAY, CLR_WHITE, CLR_RED, , )
oTip:lLineHeader       := .T.
oTip:cHeader             := "Header"
oTip:cBmpHeader     := "..\bitmaps\16edit.bmp"

oTip:lLineFoot           := .T.
oTip:cFoot                 := "Footer"
oTip:cBmpFoot         := "..\bitmaps\16object.bmp"


oTip:lSplitHdr           := .T.
oTip:lLeft                  := .T.
oTip:cBmpLeft         := "..\bitmaps\16code.bmp"

oTip:lRightAlignBody  := .T.
oTip:cBody               := "En un lugar de la Mancha de cuyo nombre no quiero acordarme"

oTip:lBtnClose          := .F.      //.T.
oTip:lBorder             := .F.

oCtrl:oToolTip      := oTip
Return oTip

//----------------------------------------------------------------------------//
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) ]
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Mostrar tooltip (c5) con formato celda xbrowse
Posted: Thu Sep 23, 2021 07:19 PM

arriba por cambio de pregunta

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) ]
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Mostrar tooltip (c5) con formato celda xbrowse
Posted: Fri Sep 24, 2021 07:38 AM

Hola

Para que asi alguien responda ¿ Has pensado en pegar el error que te da y si no da error ver el hb_out.log ?

Salu2

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Mostrar tooltip (c5) con formato celda xbrowse
Posted: Sat Sep 25, 2021 02:14 AM
Do you want a tooltip to appear when mouse hovers over a cell or when the user navigates to a row?

Earlier, you asked how to show a dialog when the user navigates to a row and close dialog when the user leaves the row.
This is the solution for that original question:
Code (fw): Select all Collapse
#include "fivewin.ch"

REQUEST DBFCDX

function Main()

   local oWnd, oBrw, oFont, oMsgDlg

   USE CUSTOMER NEW VIA "DBFCDX"

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-15
   DEFINE WINDOW oWnd
   oWnd:SetFont( oFont )
   oWnd:nWidth    := 700
   oWnd:nHeight   := 600

   @ 0,0 XBROWSE oBrw SIZE 0,0 OF oWnd ;
      DATASOURCE "CUSTOMER" AUTOCOLS ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      :bChange := <||
            if oBrw:BookMark % 5 == 0
               oMsgDlg := ShowMsgDlg( oBrw, ;
                  TRIM(FIELD->FIRST) + CRLF + TRIM(FIELD->LAST) )
            else
               if oMsgDlg != nil
                  oMsgDlg:End()
                  oMsgDlg := nil
               endif
            endif
            return nil
            >

      :CreateFromCode()
   END

   oWnd:oClient := oBrw

   ACTIVATE WINDOW oWnd CENTERED
   RELEASE FONT oFont

return nil

function ShowMsgDlg( oBrw, cMsg )

   local oDlg, oFont
   local oCol  := oBrw:SelectedCol()

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-24
   DEFINE DIALOG oDlg STYLE WS_POPUP ;
      COLOR CLR_HRED,CLR_YELLOW ;
      FONT oFont ;
      SIZE 250,100 PIXEL TRUEPIXEL
   RELEASE FONT oFont

   oDlg:bPainted  := { || oDlg:SayText( cMsg ), oDlg:Box(10,10,90,240) }
   oDlg:bInit     := { || oCol:AnchorToCell( oDlg ) }

   ACTIVATE DIALOG oDlg NOMODAL
   oBrw:SetFocus()

return oDlg




If I can understand the exact visual effect you want, we can suggest a solution for that whether or not we use c5tooltip
Regards



G. N. Rao.

Hyderabad, India
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Mostrar tooltip (c5) con formato celda xbrowse
Posted: Mon Sep 27, 2021 01:55 PM

Muchas gracias Mr. Nages

Si, algo así, era lo que había preguntado la primera vez. Lo de C5, lo sugerí por que había encontrado ese código ejemplo y pensé que era mas fácil de adaptar a nuestras necesidades; con ese código que publicaste, creo que podemos avanzar.

Cualquier cosa te estaré molestando.

:D:D:D

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) ]
Posts: 147
Joined: Tue Oct 11, 2005 08:22 PM
Re: Mostrar tooltip (c5) con formato celda xbrowse
Posted: Mon Sep 27, 2021 06:48 PM

Hola Leandro, para poner un tooltip a cada celda de un xbrowse yo lo hago asi:

oCol:bCellToolTip := { | | "Esto es un tooltip de la celda" }

Espero te sirva

Saludos!

Eduardo Borondón Muñiz

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Mostrar tooltip (c5) con formato celda xbrowse
Posted: Mon Sep 27, 2021 07:21 PM
EBM wrote:Hola Leandro, para poner un tooltip a cada celda de un xbrowse yo lo hago asi:

oCol:bCellToolTip := { | | "Esto es un tooltip de la celda" }

Espero te sirva

Saludos!

Eduardo Borondón Muñiz

bCellTooltip works when mouse pointer hovers over a cell.
He wanted to display the dialog when user navigates to a row and close when the user leaves the row.
Regards



G. N. Rao.

Hyderabad, India
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Mostrar tooltip (c5) con formato celda xbrowse
Posted: Sat Oct 02, 2021 03:44 PM
Mr. Nages, estoy probando el ejemplo que publicaste, lo que quiero hacer es que muestre el dialogo en todos los registros; no cada 5 filas como se muestra en tu ejemplo, el problema es que en algunas ocasiones no cierra el dialogo, adjunto imagen con error y código.



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

REQUEST DBFCDX

function Main()

   local oWnd, oBrw, oFont, oMsgDlg

   USE CUSTOMER NEW VIA "DBFCDX"

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-15
   DEFINE WINDOW oWnd
   oWnd:SetFont( oFont )
   oWnd:nWidth    := 700
   oWnd:nHeight   := 600

   @ 0,0 XBROWSE oBrw SIZE 0,0 OF oWnd ;
      DATASOURCE "CUSTOMER" AUTOCOLS ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      :bChange := <||
           if oMsgDlg != nil
              oMsgDlg:End()
              oMsgDlg := nil
           endif

           oMsgDlg := ShowMsgDlg( oBrw, ;
              TRIM(FIELD->FIRST) + CRLF + TRIM(FIELD->LAST) )
            return nil
            >

      :CreateFromCode()
   END

   oWnd:oClient := oBrw

   ACTIVATE WINDOW oWnd CENTERED
   RELEASE FONT oFont

return nil

function ShowMsgDlg( oBrw, cMsg )

   local oDlg, oFont
   local oCol  := oBrw:SelectedCol()

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-24
   DEFINE DIALOG oDlg STYLE WS_POPUP ;
      COLOR CLR_HRED,CLR_YELLOW ;
      FONT oFont ;
      SIZE 250,100 PIXEL TRUEPIXEL
   RELEASE FONT oFont

   oDlg:bPainted  := { || oDlg:SayText( cMsg ), oDlg:Box(10,10,90,240) }
   oDlg:bInit     := { || oCol:AnchorToCell( oDlg ) }

   ACTIVATE DIALOG oDlg NOMODAL
   oBrw:SetFocus()

return oDlg
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) ]
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Mostrar tooltip (c5) con formato celda xbrowse
Posted: Sat Oct 02, 2021 09:24 PM
Code (fw): Select all Collapse
#include "fivewin.ch"

REQUEST DBFCDX

function Main()

   local oWnd, oBrw, oFont, oMsgDlg

   USE CUSTOMER NEW VIA "DBFCDX"

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-15
   DEFINE WINDOW oWnd
   oWnd:SetFont( oFont )
   oWnd:nWidth    := 700
   oWnd:nHeight   := 600

   @ 0,0 XBROWSE oBrw SIZE 0,0 OF oWnd ;
      DATASOURCE "CUSTOMER" AUTOCOLS ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      :bChange := <||
            if oMsgDlg == nil
               oMsgDlg := ShowMsgDlg( oBrw )
            else
               oBrw:SelectedCol():AnchorToCell( oMsgDlg )
               oMsgDlg:Refresh()
            endif
            return nil
            >
      :nColSel := 2
      :lColChangeNotify := .t.

      :CreateFromCode()
   END

   oWnd:oClient   := oBrw

   ACTIVATE WINDOW oWnd CENTERED
   RELEASE FONT oFont

return nil


function ShowMsgDlg( oBrw, cMsg )

   local oDlg, oFont
   local oCol  := oBrw:SelectedCol()

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-24
   DEFINE DIALOG oDlg STYLE WS_POPUP ;
      COLOR CLR_HRED,CLR_YELLOW ;
      FONT oFont ;
      SIZE 250,100 PIXEL TRUEPIXEL
   RELEASE FONT oFont

   oDlg:bPainted  := { || oDlg:SayText( ;
      TRIM( ( oBrw:cAlias )->FIRST ) + CRLF + ;
      TRIM( ( oBrw:cAlias )->LAST ) ), ;
      oDlg:Box(10,10,90,240) }
   oDlg:bInit     := { || oCol:AnchorToCell( oDlg ) }

   ACTIVATE DIALOG oDlg NOMODAL
   oBrw:SetFocus()

return oDlg
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion