mis proyectos..

Re: mis proyectos..

Postby Silvio.Falconi » Wed Apr 03, 2013 7:16 pm

friends
I wish set the hours from

00:00 to 23:00

how I must set and where please
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 6772
Joined: Thu Oct 18, 2012 7:17 pm

Re: mis proyectos..

Postby Francisco Horta » Tue Apr 16, 2013 4:54 pm

Cristobal,

Que tal te adjunto lo que hice pero se me hace bolas el engrudo...
Code: Select all  Expand view

METHOD MouseMoveView( nRow, nCol, nKeyFlags ) CLASS TCalEx

   local aRet, oTooltip, cTooltip
   local nTxtWidth := 0, nTxtHeight
   local oFont, aPos, hOldFont

   ::CheckOverPrev( nRow, nCol )

   aRet = ::HitTest( nRow, nCol )

   if aRet[ HITTEST_PLACE ] == HITTEST_BODY
      if ::lCaptured
         ::nIdReserva := 0     // fjhg 02-04-2013
      else
*---------  fjhg 02-04-2013 Simula tooltip, muestra la info de la cita en vista DIARIA
         if ::Classname() == "TDAYVIEW" .AND. ::oCalex:oCalInfo != NIL
            if ( ::oCalex:oCalInfo:aCoords[ CI_RIGHT ] - ::oCalex:oCalInfo:aCoords[ CI_LEFT ] ) < VIEW_MIN .AND. ::nIdReserva <> ::oCalex:oCalInfo:nIdx
               ::nIdReserva := if( ::oCalex:oCalInfo == nil, 0, ::oCalex:oCalInfo:nIdx )
               ::aPos[1] := nRow
               ::aPos[2] := nCol
               cTooltip := ::oCalex:oCalInfo:cSubject


               DEFINE WINDOW oToolTip FROM 0, 0 TO 1, 5 ;
                  STYLE nOr( WS_POPUP, WS_BORDER ) ;
                  COLOR 0, RGB( 255, 255, 225 ) OF Self

               DEFINE FONT oFont NAME GetSysFont() SIZE 0, -8

               hWnd = CreateToolTip( Self:hWnd, If( ValType( cToolTip ) == "A", cToolTip[ 1 ], cToolTip ),  ;
                                     If( ::lBalloon != nil, ::lBalloon, .t. ) )

               aPos := { nRow, nCol }

               nTxtHeight := Max(14, GetTextHeight( oToolTip:hWnd )-2)

               aToolTip := Array( nLenToolTip := MLCount( cToolTip, 254 ) )
               AEval( aToolTip, {|c, n| aToolTip[ n ] := Trim( MemoLine( cToolTip, 252, n ) ), ;
                      nTxtWidth := Max( nTxtWidth, GetTextWidth( 0, aToolTip[ n ], oFont:hFont ) + 7 ) } )

               oToolTip:Move( aPos[ 1 ], aPos[ 2 ], nTxtWidth, nTxtHeight * nLenToolTip + 3 )
//               oTooltip:Show()

            endif
         else
            ::nIdReserva := 0
         endif
      endif
   endif

return Super:MouseMove( nRow, nCol, nKeyFlags )

 


pero se alenta el sistema un poco... sera porque no estoy finalizando oFont?
pudieras echarle el ojo
saludos
paco
____________________
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: mis proyectos..

Postby cnavarro » Tue Apr 16, 2013 6:33 pm

Francisco, buenas tardes

No he tenido mucho tiempo para dedicarle al tema, pero te adjunto lo que llevaba hecho
Me faltaba que funcionara correctamente en el view del Month

Code: Select all  Expand view

METHOD MouseMoveView( nRow, nCol, nKeyFlags ) CLASS TCalEx

   local aRet
   local cToolTip

   ::CheckOverPrev( nRow, nCol )

   aRet = ::HitTest( nRow, nCol )
   if aRet[ HITTEST_PLACE ] == HITTEST_BODY
      if ::lCaptured
         ::Refresh()
      endif
   endif

   if !empty( ::oCalex:oCalInfo )
      cTooltip := ::oCalex:oCalInfo:cSubject
   endif

   if !empty( cToolTip )
      //? "1"
      //HTMLPOP( hWnd, cHelpFile, HH_DISPLAY_TEXT_POPUP, cnHelp, nRow, nCol, nBgColor,nTxColor )
      HTMLPOP( GetActiveWindow(), nil, 0x000E, cToolTip )
   endif
 


Espero poder esta semana meterle "mano"
De todas formas le echo un vistazo a lo que adjuntas y comentamos.
Un saludo
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: mis proyectos..

Postby cnavarro » Thu Apr 18, 2013 4:46 pm

Francisco Horta wrote:Cristobal,

Que tal te adjunto lo que hice pero se me hace bolas el engrudo...
Code: Select all  Expand view

METHOD MouseMoveView( nRow, nCol, nKeyFlags ) CLASS TCalEx

   local aRet, oTooltip, cTooltip
   local nTxtWidth := 0, nTxtHeight
   local oFont, aPos, hOldFont

   ::CheckOverPrev( nRow, nCol )

   aRet = ::HitTest( nRow, nCol )

   if aRet[ HITTEST_PLACE ] == HITTEST_BODY
      if ::lCaptured
         ::nIdReserva := 0     // fjhg 02-04-2013
      else
*---------  fjhg 02-04-2013 Simula tooltip, muestra la info de la cita en vista DIARIA
         if ::Classname() == "TDAYVIEW" .AND. ::oCalex:oCalInfo != NIL
            if ( ::oCalex:oCalInfo:aCoords[ CI_RIGHT ] - ::oCalex:oCalInfo:aCoords[ CI_LEFT ] ) < VIEW_MIN .AND. ::nIdReserva <> ::oCalex:oCalInfo:nIdx
               ::nIdReserva := if( ::oCalex:oCalInfo == nil, 0, ::oCalex:oCalInfo:nIdx )
               ::aPos[1] := nRow
               ::aPos[2] := nCol
               cTooltip := ::oCalex:oCalInfo:cSubject


               DEFINE WINDOW oToolTip FROM 0, 0 TO 1, 5 ;
                  STYLE nOr( WS_POPUP, WS_BORDER ) ;
                  COLOR 0, RGB( 255, 255, 225 ) OF Self

               DEFINE FONT oFont NAME GetSysFont() SIZE 0, -8

               hWnd = CreateToolTip( Self:hWnd, If( ValType( cToolTip ) == "A", cToolTip[ 1 ], cToolTip ),  ;
                                     If( ::lBalloon != nil, ::lBalloon, .t. ) )

               aPos := { nRow, nCol }

               nTxtHeight := Max(14, GetTextHeight( oToolTip:hWnd )-2)

               aToolTip := Array( nLenToolTip := MLCount( cToolTip, 254 ) )
               AEval( aToolTip, {|c, n| aToolTip[ n ] := Trim( MemoLine( cToolTip, 252, n ) ), ;
                      nTxtWidth := Max( nTxtWidth, GetTextWidth( 0, aToolTip[ n ], oFont:hFont ) + 7 ) } )

               oToolTip:Move( aPos[ 1 ], aPos[ 2 ], nTxtWidth, nTxtHeight * nLenToolTip + 3 )
//               oTooltip:Show()

            endif
         else
            ::nIdReserva := 0
         endif
      endif
   endif

return Super:MouseMove( nRow, nCol, nKeyFlags )

 


pero se alenta el sistema un poco... sera porque no estoy finalizando oFont?
pudieras echarle el ojo
saludos
paco



Francisco,
Te adjunto las modificaciones a tu codigo
A mi me funciona, aunque no he podido probarlo en profundidad y con más tiempo
Comentame como va

Code: Select all  Expand view

METHOD MouseMoveView( nRow, nCol, nKeyFlags ) CLASS TCalEx

   local aRet, oTooltip, cTooltip
   local nTxtWidth := 0, nTxtHeight
   local oFont, aPos, hOldFont

   ::CheckOverPrev( nRow, nCol )

   aRet = ::HitTest( nRow, nCol )

   if aRet[ HITTEST_PLACE ] == HITTEST_BODY
      if ::lCaptured
         ::nIdReserva := 0     // fjhg 02-04-2013
      else
*---------  fjhg 02-04-2013 Simula tooltip, muestra la info de la cita en vista DIARIA
         if ::Classname() == "TDAYVIEW" .AND. ::oCalex:oCalInfo != NIL
            if ( ::oCalex:oCalInfo:aCoords[ CI_RIGHT ] - ::oCalex:oCalInfo:aCoords[ CI_LEFT ] ) < VIEW_MIN .AND. ::nIdReserva <> ::oCalex:oCalInfo:nIdx
               ::nIdReserva := if( ::oCalex:oCalInfo == nil, 0, ::oCalex:oCalInfo:nIdx )
               //::aPos[1] := nRow
               //::aPos[2] := nCol
               cTooltip := ::oCalex:oCalInfo:cSubject
           if cTooltip + Dtoc( ::dDateSelected ) <> ::oToolTip
               ::oToolTip := cToolTip + Dtoc( ::dDateSelected )

               hWnd = CreateToolTip( Self:hWnd, If( ValType( cToolTip ) == "A", cToolTip[ 1 ], cToolTip ),  ;
                                     If( ::lBalloon != nil, ::lBalloon, .t. ) )

               aPos := { nRow, nCol }

               nTxtHeight := Max(14, GetTextHeight( hWnd ) - 2 )

               aToolTip := Array( nLenToolTip := MLCount( cToolTip, 254 ) )
               AEval( aToolTip, {|c, n| aToolTip[ n ] := Trim( MemoLine( cToolTip, 252, n ) ), ;
                      nTxtWidth := Max( nTxtWidth, GetTextWidth( 0, aToolTip[ n ], ::oFont:hFont ) + 7 ) } )


            endif
         else
            ::nIdReserva := 0
            ::oToolTip    := Nil
         endif
      endif
   endif

return Super:MouseMove( nRow, nCol, nKeyFlags )

 


Yo no he podido usar todos los IF que tienes al principio pero creo que no deben influir en el resto
Me refiero a estos
Code: Select all  Expand view

   if aRet[ HITTEST_PLACE ] == HITTEST_BODY
      if ::lCaptured
         ::nIdReserva := 0     // fjhg 02-04-2013
      else

 


Tampoco he usado el IF
Code: Select all  Expand view

            if ( ::oCalex:oCalInfo:aCoords[ CI_RIGHT ] - ::oCalex:oCalInfo:aCoords[ CI_LEFT ] ) < VIEW_MIN .AND. ::nIdReserva <> ::oCalex:oCalInfo:nIdx
 


He creado una DATA con el nombre ::oToolTip

Saludos
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: mis proyectos..

Postby cnavarro » Thu Apr 18, 2013 8:40 pm

Francisco

Creo que esto esta mucho mejor
A ver qué te parece
He creado la DATA ::oToolTip
pero la cambiaré a nToolTip en cuanto funcione correctamente

Code: Select all  Expand view


METHOD MouseMoveView( nRow, nCol, nKeyFlags ) CLASS TCalEx

   local aRet
   local cToolTip

   local nTxtWidth := 0
   local nTxtHeight
   local nLenToolTip, hWnd, aToolTip, aPos

   ::CheckOverPrev( nRow, nCol )

   aRet = ::HitTest( nRow, nCol )
   if aRet[ HITTEST_PLACE ] == HITTEST_BODY
      if ::lCaptured
         ::Refresh()
      endif
   endif

   if Valtype( ::oToolTip ) = "U"
      ::oToolTip   := 99999
   endif

   if !empty( ::oCalex:oCalInfo )

      cTooltip := ::oCalex:oCalInfo:cSubject

   endif

   if !empty( cToolTip )

      if ::oToolTip <> ::nAtRow  .and. ::oToolTip >= 0

         //HTMLPOP( hWnd, cHelpFile, HH_DISPLAY_TEXT_POPUP, cnHelp, nRow, nCol, nBgColor,nTxColor )
         /*
         HTMLPOP( GetActiveWindow(), nil, 0x000E, ;
                  Dtoc(::dDateSelected ) + CRLF + STr( ::oCalex:oCalInfo:nStart ) + CRLF +;
                  cToolTip + CRLF + Str( ::nRowDown ) + CRLF + Str( ::nAtRow ) + CRLF  ,;
                  nRow , nCol  ,  nRGB( 0, 25, 64 ), nRGB( 255, 255, 255 ) )
         */

               hWnd = CreateToolTip( Self:hWnd, If( ValType( cToolTip ) == "A", cToolTip[ 1 ], cToolTip ),  ;
                                     If( ::lBalloon != nil, ::lBalloon, .t. ) )

               //aPos := { nRow, nCol }
                                                       //::oToolTip:hWnd
               nTxtHeight := Max( 14, GetTextHeight( hWnd ) - 2 )

               aToolTip   := Array( nLenToolTip := MLCount( cToolTip, 254 ) )
               AEval( aToolTip, {|c, n| aToolTip[ n ] := Trim( MemoLine( cToolTip, 252, n ) ), ;
                      nTxtWidth := Max( nTxtWidth, GetTextWidth( 0, aToolTip[ n ], ::oFont:hFont ) + 7 ) } )



         ::oToolTip   := -1  

      else

         ::oToolTip     := ::nAtRow    

      endif
   else

      ::oToolTip   := 0

   endif

return Super:MouseMove( nRow, nCol, nKeyFlags )

 


Saludos
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: mis proyectos..

Postby Francisco Horta » Thu Apr 18, 2013 9:00 pm

Que tal Cristobal,

probando tu sugerencia, fijate que no encuentro como destruir la tooltip cuando muevo el raton, y todo se encima (imagen 1)
por otro lado cuando el puntero esta fuera de cita muestra informacion que no es ( imagen 2 )
seguire intentando, trate matar la ventana del tooltip con destroywindow( hWnd ) pero no me encuentra valor de hWnd
adjunto imagenes, a ver si por ahi algun guru nos puede echar la mano :( estamos creo que mmmuy cerca de lograrlo..

Image
Image

saludos
paco
____________________
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: mis proyectos..

Postby Willi Quintana » Fri Apr 19, 2013 2:28 am

Francisco:
Podrias indicarme que tipo de botones usas en tu soft de restaurantes??? noto qur puedes ocupar casi todo el botn con texto...
Gracias
Willi
User avatar
Willi Quintana
 
Posts: 1002
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: mis proyectos..

Postby Francisco Horta » Fri Apr 19, 2013 2:07 pm

willi, uso una plantilla, tengo btnbmp e image
saludos
paco
____________________
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Previous

Return to FiveWin para Harbour/xHarbour

Who is online

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