FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Tooltips on disabled controls
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Tooltips on disabled controls
Posted: Thu Feb 18, 2010 07:00 PM
It would be nice to have tooltips on disabled controls. Currently we haven't:

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


FUNCTION MAIN()

    LOCAL oDlg, oBtn1, oBtn2

    DEFINE DIALOG oDlg

    @ 1, 1 BUTTON oBtn1 PROMPT "Test 1"

    oBtn1:cTooltip = "Test 1"

    @ 2, 1 BUTTON oBtn2 PROMPT "Test 2" WHEN .F.

    oBtn2:cTooltip = "Test 2"

    ACTIVATE DIALOG oDlg;
             CENTER

    RETURN NIL


EMG
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Tooltips on disabled controls
Posted: Fri Feb 19, 2010 06:05 PM
Enrico,

Enrico Maria Giordano wrote:It would be nice to have tooltips on disabled controls. Currently we haven't:

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


FUNCTION MAIN()

    LOCAL oDlg, oBtn1, oBtn2

    DEFINE DIALOG oDlg

    @ 1, 1 BUTTON oBtn1 PROMPT "Test 1"

    oBtn1:cTooltip = "Test 1"

    @ 2, 1 BUTTON oBtn2 PROMPT "Test 2" WHEN .F.

    oBtn2:cTooltip = "Test 2"

    ACTIVATE DIALOG oDlg;
             CENTER

    RETURN NIL


EMG



My tooltip System on disabled controls on TDialog Class...
You need Tooltip Class ( TTip() )... I can't to run with standard tooltips


Code (fw): Select all Collapse
EXTRA TDIALOG

   DATA oToolTip
   DATA aUltPos
   METHOD MiTooltip  HIDDEN


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

METHOD MouseMove( nRow, nCol, nKeyFlags ) CLASS TDialog


   if ::lHelpIcon != NIl .and. !::lHelpIcon
      if ::oCursor != nil
         SetCursor( ::oCursor:hCursor )
      else
         CursorArrow()
      endif
   endif

   ::SetMsg( ::cMsg )

   ::CheckToolTip()


    ::MiTooltip(nRow, nCol)



   if ::bMMoved != nil
      return Eval( ::bMMoved, nRow, nCol, nKeyFlags )
   endif
return 0

//--------------------------------------------------------------------------//
METHOD MiToolTip(nRow, nCol) CLASS TDIALOG
Local xFrom, x
*
// -------------------------------------------------------------
IF ::oToolTip != NIL
   ::oToolTip:nRowNuevo:= nRow
   ::oToolTip:nColNuevo:= nCol
ENDIF
//---------------------------------------------------------------------
*
xFrom:= ChildWindowFromPoint(::hWnd, {nRow, nCol})
   IF ::aUltPos == NIL .OR. (::aUltPos[3] != xFrom)
      IF ::oTooltip != NIL
         ::OTOOLTIP:HIDE()
      ENDIF



      IF xFrom != NIL
         x:= oWndFromHwnd(xFrom)
         #Define ES_CONTROL(x) (x:ClassName() != "TWINDOW" .AND.;
                                x:ClassName() != "TDIALOG" )
         IF x != NIL .AND. ES_CONTROL(x) .AND. !Empty(RetToolTip(x))
            IF !x:lActive

               #Define START_SHOW 350 // Este tiempo a 200 es muy bueno pq
                                      // vale para 2 cosas: 1 que con mvto.
                                      // rapido sobre el get el tip no se muestre
                                      // y 2 que dando el foco rapidamente a un
                                      // get y luego quitandoselo tampoco se
                                      // muestre el tip.
               #Define x_(c) if(c== nil, "", c)
      IF ::oTooltip != NIL
         ::OTOOLTIP:DESTROY()
      ENDIF

               ::OTOOLTIP:= TTip():New(x, (RetToolTip(x)), NIL, NIL, NIL, NIL, START_SHOW)
            // + 15 para mostrar debajo del cursor del raton
            ::OTOOLTIP:Show(nRow+ 15, nCol)



            ENDIF

         ENDIF

      ENDIF
      
   ENDIF
            ::aUltPos:= {nRow, nCol, xFrom}

RETURN NIL
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Tooltips on disabled controls
Posted: Fri Feb 19, 2010 09:47 PM

Thank you, but I'd prefer to have them in the standard FWH classes.

EMG

Continue the discussion