Mostrar tooltip (c5) con formato celda xbrowse

Mostrar tooltip (c5) con formato celda xbrowse

Postby leandro » Thu Sep 23, 2021 6: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: Select all  Expand view  RUN


// 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

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Mostrar tooltip (c5) con formato celda xbrowse

Postby leandro » Thu Sep 23, 2021 7:19 pm

arriba por cambio de pregunta
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Mostrar tooltip (c5) con formato celda xbrowse

Postby hmpaquito » Fri Sep 24, 2021 7: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
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Mostrar tooltip (c5) con formato celda xbrowse

Postby nageswaragunupudi » Sat Sep 25, 2021 2: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: Select all  Expand view  RUN
#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
 


Image

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
User avatar
nageswaragunupudi
 
Posts: 10655
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Mostrar tooltip (c5) con formato celda xbrowse

Postby leandro » Mon Sep 27, 2021 1:55 pm

:D :D :D
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.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Mostrar tooltip (c5) con formato celda xbrowse

Postby EBM » Mon Sep 27, 2021 6: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
EBM
 
Posts: 147
Joined: Tue Oct 11, 2005 8:22 pm
Location: Guadalajara, Jal Mexico

Re: Mostrar tooltip (c5) con formato celda xbrowse

Postby nageswaragunupudi » Mon Sep 27, 2021 7: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
User avatar
nageswaragunupudi
 
Posts: 10655
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: Mostrar tooltip (c5) con formato celda xbrowse

Postby leandro » Sat Oct 02, 2021 3: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.

Image

Code: Select all  Expand view  RUN

#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

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Mostrar tooltip (c5) con formato celda xbrowse

Postby nageswaragunupudi » Sat Oct 02, 2021 9:24 pm

Code: Select all  Expand view  RUN
#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
User avatar
nageswaragunupudi
 
Posts: 10655
Joined: Sun Nov 19, 2006 5:22 am
Location: India


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 24 guests