FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posts: 330
Joined: Fri May 25, 2007 09:06 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Tue Oct 07, 2008 12:14 PM

Master Antonio: quisiera saber si los scroll vertical y horizontal estan ya soportados en FWH,, y desde q version,, que uso la 7.04 y en esa no me funcionan bien los scroll.. para hacerlos funcionar incluyo una clase de un tercero para q funcionen ok.. pero esa clase no da soporte a la rueda del raton::

MASTER quisiera saber si en las nuevas version de FWH,, ya esta soportado todos incluyendo la rueda del raton: ?????

esperando tu respuesta me despido muy atte.

GRACIAS

Posts: 330
Joined: Fri May 25, 2007 09:06 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Tue Oct 07, 2008 03:58 PM

...

Posts: 330
Joined: Fri May 25, 2007 09:06 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Wed Oct 08, 2008 12:20 PM

.. alguna respuesta ANTONIO

Posts: 330
Joined: Fri May 25, 2007 09:06 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Thu Oct 09, 2008 12:07 PM

..

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Thu Oct 09, 2008 12:46 PM

Si, por supuesto que estan soportados y tambien soporte de la rueda del rat贸n.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Thu Oct 09, 2008 12:47 PM

Puedes proporcionar un ejemplo de como los quieres usar ?

En una ventana ? En un browse ? En entorno MDI ? etc.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 330
Joined: Fri May 25, 2007 09:06 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Fri Oct 17, 2008 11:19 AM

MASTER ANTONIO,,

lo quiero usar asi:: te explico::

en una ventana DEFINE WINDOW .... ACTIVATE WINDOW

este define tiene un BRUSH q es un tipo de formulario,, y desde recursos agrego los get para el llenado del mismo...

el SCROLL... no me funciona:: solo aparecen la barra pero no hace nada::

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Fri Oct 17, 2008 02:54 PM

Revisa fwh\samples\TestWScr.prg

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 330
Joined: Fri May 25, 2007 09:06 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Fri Oct 17, 2008 08:02 PM

MASTER ANTONIO,,

revise el ejemplo q me dijiste..

los scroll vertical y horizontal,, funcionan OK..

pero no tiene soportado la RUEDA DEL MOUSE...

ese es correcto...??

GRACIAS

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Fri Oct 17, 2008 09:17 PM

Si, cierto, falta el soporte de rueda del rat贸n.

Vamos a modificar ese ejemplo para incluirlo.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Sat Oct 18, 2008 04:15 AM

...

Dios no est谩 muerto...



Gracias a mi Dios ante todo!
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Sat Oct 18, 2008 05:28 AM
Aqui est谩 modificado con soporte de rueda del rat贸n:
// Testing how to scroll a window with its contents

#include "FiveWin.ch"

#define D_WIDTH           4
#define D_HEIGHT          13

FUNCTION Main()

LOCAL oWnd,oScrWnd
LOCAL cGet0101 := space(10),  ; //Row 1
      cGet0102 := space(10),  ;
      cGet0103 := space(10),  ;
      cGet0104 := space(10),  ;
      cGet0105 := space(10),  ;
      cGet0201 := space(10),  ; //Row 2
      cGet0202 := space(10),  ;
      cGet0203 := space(10),  ;
      cGet0204 := space(10),  ;
      cGet0205 := space(10),  ;
      cGet0301 := space(10),  ; //Row 3
      cGet0302 := space(10),  ;
      cGet0303 := space(10),  ;
      cGet0304 := space(10),  ;
      cGet0305 := space(10),  ;
      cGet0401 := space(10),  ; //Row 4
      cGet0402 := space(10),  ;
      cGet0403 := space(10),  ;
      cGet0404 := space(10),  ;
      cGet0405 := space(10),  ;
      cGet0501 := space(10),  ; //Row 5
      cGet0502 := space(10),  ;
      cGet0503 := space(10),  ;
      cGet0504 := space(10),  ;
      cGet0505 := space(10),  ;
      cGet0601 := space(10),  ; //Row 6
      cGet0602 := space(10),  ;
      cGet0603 := space(10),  ;
      cGet0604 := space(10),  ;
      cGet0605 := space(10),  ;
      cGet0701 := space(10),  ; //Row 7
      cGet0702 := space(10),  ;
      cGet0703 := space(10),  ;
      cGet0704 := space(10),  ;
      cGet0705 := space(10),  ;
      cGet0801 := space(10),  ; //Row 8
      cGet0802 := space(10),  ;
      cGet0803 := space(10),  ;
      cGet0804 := space(10),  ;
      cGet0805 := space(10),  ;
      cGet0901 := space(10),  ; //Row 9
      cGet0902 := space(10),  ;
      cGet0903 := space(10),  ;
      cGet0904 := space(10),  ;
      cGet0905 := space(10),  ;
      cGet1001 := space(10),  ; //Row 10
      cGet1002 := space(10),  ;
      cGet1003 := space(10),  ;
      cGet1004 := space(10),  ;
      cGet1005 := space(10),  ;
      cGet1101 := space(10),  ; //Row 11
      cGet1102 := space(10),  ;
      cGet1103 := space(10),  ;
      cGet1104 := space(10),  ;
      cGet1105 := space(10)

   oWnd = TMyWindow():New( 0, 0, 25, 70, "Scroll Window",,,,,, .T., .T. )
   
   /*
   define window oWnd from 0, 0 TO 25, 70 ;
         title "Scroll Window"            ;
         vscroll hscroll
   */      

   @ 9,17 bitmap file "..\bitmaps\pic1.bmp" of oWnd size 120,148 adjust
   @ 9,32 bitmap file "..\bitmaps\pic2.bmp" of oWnd size 120,148 adjust
   @ 9,47 bitmap file "..\bitmaps\pic3.bmp" of oWnd size 120,148 adjust
   @ 9,62 bitmap file "..\bitmaps\pic4.bmp" of oWnd size 120,148 adjust
   @ 9,77 bitmap file "..\bitmaps\pic5.bmp" of oWnd size 120,148 adjust

   @ 21*13,02*8 say "Customer " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 23*13,02*8 say "P.O. #   " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 25*13,02*8 say "Style No." of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 27*13,02*8 say "Fabrics  " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 29*13,02*8 say "Fob      " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 31*13,02*8 say "Q'TY     " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 33*13,02*8 say "DEL.     " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 35*13,02*8 say "MAKER    " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 37*13,02*8 say "QTA      " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 39*13,02*8 say "SIZE     " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 41*13,02*8 say "Size B/D " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 43*13,02*8 say "REMARKS  " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

   @ 21*13,17*8 say "Venture  " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 21*13,32*8 say "Sears    " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 21*13,47*8 say "Kohl's   " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 21*13,62*8 say "Kiss     " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel
   @ 21*13,77*8 say "K-MART   " of oWnd update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

   //-* Row 1
   @ 23*13,17*8 get cGet0101 size 120,26 of oWnd update pixel
   @ 23*13,32*8 get cGet0102 size 120,26 of oWnd update pixel
   @ 23*13,47*8 get cGet0103 size 120,26 of oWnd update pixel
   @ 23*13,62*8 get cGet0104 size 120,26 of oWnd update pixel
   @ 23*13,77*8 get cGet0105 size 120,26 of oWnd update pixel

   //-* Row 2
   @ 25*13,17*8 get cGet0201 size 120,26 of oWnd update pixel
   @ 25*13,32*8 get cGet0202 size 120,26 of oWnd update pixel
   @ 25*13,47*8 get cGet0203 size 120,26 of oWnd update pixel
   @ 25*13,62*8 get cGet0204 size 120,26 of oWnd update pixel
   @ 25*13,77*8 get cGet0205 size 120,26 of oWnd update pixel

   //-* Row 3
   @ 27*13,17*8 get cGet0301 size 120,26 of oWnd update pixel
   @ 27*13,32*8 get cGet0302 size 120,26 of oWnd update pixel
   @ 27*13,47*8 get cGet0303 size 120,26 of oWnd update pixel
   @ 27*13,62*8 get cGet0304 size 120,26 of oWnd update pixel
   @ 27*13,77*8 get cGet0305 size 120,26 of oWnd update pixel

   //-* Row 4
   @ 29*13,17*8 get cGet0401 size 120,26 of oWnd update pixel
   @ 29*13,32*8 get cGet0402 size 120,26 of oWnd update pixel
   @ 29*13,47*8 get cGet0403 size 120,26 of oWnd update pixel
   @ 29*13,62*8 get cGet0404 size 120,26 of oWnd update pixel
   @ 29*13,77*8 get cGet0405 size 120,26 of oWnd update pixel

   //-* Row 5
   @ 31*13,17*8 get cGet0501 size 120,26 of oWnd update pixel
   @ 31*13,32*8 get cGet0502 size 120,26 of oWnd update pixel
   @ 31*13,47*8 get cGet0503 size 120,26 of oWnd update pixel
   @ 31*13,62*8 get cGet0504 size 120,26 of oWnd update pixel
   @ 31*13,77*8 get cGet0505 size 120,26 of oWnd update pixel

   //-* Row 6
   @ 33*13,17*8 get cGet0601 size 120,26 of oWnd update pixel
   @ 33*13,32*8 get cGet0602 size 120,26 of oWnd update pixel
   @ 33*13,47*8 get cGet0603 size 120,26 of oWnd update pixel
   @ 33*13,62*8 get cGet0604 size 120,26 of oWnd update pixel
   @ 33*13,77*8 get cGet0605 size 120,26 of oWnd update pixel

   //-* Row 7
   @ 35*13,17*8 get cGet0701 size 120,26 of oWnd update pixel
   @ 35*13,32*8 get cGet0702 size 120,26 of oWnd update pixel
   @ 35*13,47*8 get cGet0703 size 120,26 of oWnd update pixel
   @ 35*13,62*8 get cGet0704 size 120,26 of oWnd update pixel
   @ 35*13,77*8 get cGet0705 size 120,26 of oWnd update pixel

   //-* Row 8
   @ 37*13,17*8 get cGet0801 size 120,26 of oWnd update pixel
   @ 37*13,32*8 get cGet0802 size 120,26 of oWnd update pixel
   @ 37*13,47*8 get cGet0803 size 120,26 of oWnd update pixel
   @ 37*13,62*8 get cGet0804 size 120,26 of oWnd update pixel
   @ 37*13,77*8 get cGet0805 size 120,26 of oWnd update pixel

   //-* Row 9
   @ 39*13,17*8 get cGet0901 size 120,26 of oWnd update pixel
   @ 39*13,32*8 get cGet0902 size 120,26 of oWnd update pixel
   @ 39*13,47*8 get cGet0903 size 120,26 of oWnd update pixel
   @ 39*13,62*8 get cGet0904 size 120,26 of oWnd update pixel
   @ 39*13,77*8 get cGet0905 size 120,26 of oWnd update pixel

   //-* Row 10
   @ 41*13,17*8 get cGet1001 size 120,26 of oWnd update pixel
   @ 41*13,32*8 get cGet1002 size 120,26 of oWnd update pixel
   @ 41*13,47*8 get cGet1003 size 120,26 of oWnd update pixel
   @ 41*13,62*8 get cGet1004 size 120,26 of oWnd update pixel
   @ 41*13,77*8 get cGet1005 size 120,26 of oWnd update pixel

   //-* Row 11
   @ 43*13,17*8 get cGet1101 size 120,26 of oWnd update pixel
   @ 43*13,32*8 get cGet1102 size 120,26 of oWnd update pixel
   @ 43*13,47*8 get cGet1103 size 120,26 of oWnd update pixel
   @ 43*13,62*8 get cGet1104 size 120,26 of oWnd update pixel
   @ 43*13,77*8 get cGet1105 size 120,26 of oWnd update pixel


   @ 50,20 button "&Ok" size 80,20 of oWnd   ;
      action (MsgInfo("You click OK button!"),oWnd:End())
   @ 50,40 button "&Cancel" size 80,20 of oWnd  ;
      action (MsgInfo("You click Cancel button!"),oWnd:End())

   ACTIVATE WINDOW oWnd    ;
      ON INIT ( TScrWnd():New(oWnd,1,40,1,70) )

RETURN( NIL )

CLASS TMyWindow FROM TWindow

   CLASSDATA lRegistered AS LOGICAL

   DATA   bMouseWheel

   METHOD MouseWheel( nKey, nDelta, nXPos, nYPos ) INLINE ;
          If( ::bMouseWheel != nil, Eval( ::bMouseWheel, nKey, nDelta, nXPos, nYPos ),)
   
ENDCLASS   

//============================================================================
// FileName : SCROLL.PRG
// Purpose  :  Windows Scroll Class
// Author   : Eric Yang
// Update History :
//      Date     Contents
//    ---------- ---------------------------------------------------------------
//    1997.02.01
//
//============================================================================
#include "FiveWin.ch"

#ifndef TRUE
   #define TRUE              .T.
   #define FALSE             .F.
#endif

CLASS TScrWnd

   DATA oWnd
   DATA nVPos,nHPos

   METHOD New( oWnd,nV1,nV2,nH1,nH2 ) CONSTRUCTOR
   METHOD SetScroll( nV1,nV2,nH1,nH2 )
   //-*------------------------------------------------------------
   METHOD VScroll()
   METHOD VScrollThumb()
   METHOD VScrollTrack()
   METHOD VScrollPgDown()
   METHOD VScrollPgUp()
   //-*-----------------------------
   METHOD HScroll()
   METHOD HScrollThumb()
   METHOD HScrollTrack()
   METHOD HScrollPgDown()
   METHOD HScrollPgUp()

ENDCLASS

METHOD New( oWnd,nV1,nV2,nH1,nH2 ) CLASS TScrWnd
   ::nVPos := 0
   ::nHPos := 0
   ::oWnd := oWnd
   ::SetScroll( nV1,nV2,nH1,nH2 )
   ::oWnd:bMouseWheel = { | nKey, nDelta, nXPos, nYPos | If( nDelta < 0, ::oWnd:oVScroll:GoDown(), ::oWnd:oVScroll:GoUp() ) }
RETURN Self


METHOD SetScroll( nV1,nV2,nH1,nH2 ) CLASS TScrWnd
LOCAL aCoors1:={},aCoors2:={}
   //--------------------------------------------------
   //-* Vertical Scroll Bar
//   ? ::oWnd:oVSCroll=NIL
   if ::oWnd:oVScroll != NIL
//    ? nV1,nV2
      ::oWnd:oVScroll:SetRange( nV1,nV2 )
      ::nVPos := ::oWnd:oVScroll:GetPos()
      ::oWnd:oVScroll:bGoDown   := {|| ::VScroll() }
      ::oWnd:oVScroll:bGoUp     := {|| ::VScroll() }
      ::oWnd:oVScroll:bPageUp   := {|| ::VScrollPgUp() }
      ::oWnd:oVScroll:bPageDown := {|| ::VScrollPgDown() }
      ::oWnd:oVScroll:bGoTop    := {|| ::VScroll() }
      ::oWnd:oVScroll:bGoBottom := {|| ::VScroll() }
      ::oWnd:oVScroll:nPgStep   := 10
      //::oWnd:oVScroll:lReDraw := TRUE
      ::oWnd:oVScroll:bPos      := {|nPos| ::VScrollThumb(nPos) }
      ::oWnd:oVScroll:bTrack    := {|nPos| ::VScrollTrack(nPos) }
   endif
   //--------------------------------------------------
   //-* Horizontal Scroll Bar
   if ::oWnd:oHScroll != NIL
      ::oWnd:oHScroll:SetRange( nH1,nH2 )
      ::nHPos := ::oWnd:oHScroll:GetPos()
      ::oWnd:oHScroll:bGoDown   := {|| ::HScroll() }
      ::oWnd:oHScroll:bGoUp     := {|| ::HScroll() }
      ::oWnd:oHScroll:bPageUp   := {|| ::HScrollPgUp() }
      ::oWnd:oHScroll:bPageDown := {|| ::HScrollPgDown() }
      ::oWnd:oHScroll:bGoTop    := {|| ::HScroll() }
      ::oWnd:oHScroll:bGoBottom := {|| ::HScroll() }
      ::oWnd:oHScroll:nPgStep   := 10
      //::oWnd:oHScroll:lReDraw := TRUE
      ::oWnd:oHScroll:bPos      := {|nPos| ::HScrollThumb(nPos) }
      ::oWnd:oHScroll:bTrack    := {|nPos| ::HScrollTrack(nPos) }
   endif
   //::oWnd:bKeyChar := {|nKey,nFlags| ScrollKey(nKey) }
   //--------------------------------------------------
RETURN( NIL )

//STATIC FUNCTION ScrollKey(nKey)
   //MsgInfo( "Key : "+str(nKey,10) )
   //if nKey == K_ENTER
   //   goMainDlg:End()
   //   lRetVal := TRUE
   //endif
//RETURN( NIL )

//=================================================================
//-* Vertical Scroll Bar
METHOD VScroll() CLASS TScrWnd
LOCAL nNewPos
   if ::nVPos >= ::oWnd:oVScroll:nMin   ;
      .and. ::nVPos <= ::oWnd:oVScroll:nMax
      nNewPos := ::oWnd:oVScroll:GetPos()
      SysRefresh()

      ScrollWindow( ::oWnd:hWnd, 0,  ;
         (  ::nVPos-nNewPos )*D_HEIGHT,    ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nVPos := nNewPos
   endif
RETURN( NIL )

METHOD VScrollThumb(nNewPos) CLASS TScrWnd
   if ::nVPos >= ::oWnd:oVScroll:nMin   ;
      .and. ::nVPos <= ::oWnd:oVScroll:nMax
      ::oWnd:oVScroll:SetPos(nNewPos)
      SysRefresh()
      ScrollWindow( ::oWnd:hWnd, 0,  ;
         (::nVPos - nNewPos )*D_HEIGHT,    ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nVPos := nNewPos
   endif
RETURN( NIL )

METHOD VScrollTrack(nNewPos) CLASS TScrWnd
   if ::nVPos >= ::oWnd:oVScroll:nMin   ;
      .and. ::nVPos <= ::oWnd:oVScroll:nMax
      ::oWnd:oVScroll:SetPos(nNewPos)
      SysRefresh()
      ScrollWindow( ::oWnd:hWnd, 0,  ;
         (::nVPos - nNewPos )*D_HEIGHT,    ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nVPos := nNewPos
   endif
RETURN( NIL )

METHOD VScrollPgDown() CLASS TScrWnd
LOCAL nNewPos
   if ::nVPos < ::oWnd:oVScroll:nMax
      nNewPos := ::nVPos + ::oWnd:oVScroll:nPgStep
      nNewPos := iif(nNewPos > ::oWnd:oVScroll:nMax, ::oWnd:oVScroll:nMax, nNewPos)
      SysRefresh()
      ScrollWindow( ::oWnd:hWnd, 0,  ;
         ( ::nVPos - nNewPos )*D_HEIGHT,    ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nVPos := nNewPos
   endif
RETURN( NIL )

METHOD VScrollPgUp() CLASS TScrWnd
LOCAL nNewPos
   if ::nVPos > ::oWnd:oVScroll:nMin
      nNewPos := ::nVPos - ::oWnd:oVScroll:nPgStep
      nNewPos := iif(nNewPos < ::oWnd:oVScroll:nMin,::oWnd:oVScroll:nMin,nNewPos)
      SysRefresh()
      ScrollWindow( ::oWnd:hWnd, 0,  ;
         ( ::nVPos - nNewPos )*D_HEIGHT,    ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nVPos := nNewPos
   endif
RETURN( NIL )

//=================================================================
//-* Horizontal Scroll Bar
METHOD HScroll() CLASS TScrWnd
LOCAL nNewPos
   if ::nHPos >= ::oWnd:oHScroll:nMin   ;
      .and. ::nHPos <= ::oWnd:oHScroll:nMax
      nNewPos := ::oWnd:oHScroll:GetPos()
      SysRefresh()
      ScrollWindow( ::oWnd:hWnd,           ;
         (::nHPos - nNewPos )*D_WIDTH,0,   ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nHPos := nNewPos
   endif
RETURN( NIL )

METHOD HScrollThumb(nNewPos) CLASS TScrWnd
   if ::nHPos >= ::oWnd:oHScroll:nMin   ;
      .and. ::nHPos <= ::oWnd:oHScroll:nMax
      ::oWnd:oHScroll:SetPos(nNewPos)
      SysRefresh()
      ScrollWindow( ::oWnd:hWnd,           ;
         (::nHPos - nNewPos )*D_WIDTH,0,   ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nHPos := nNewPos
   endif
RETURN( NIL )

METHOD HScrollTrack(nNewPos) CLASS TScrWnd
   if ::nHPos >= ::oWnd:oHScroll:nMin   ;
      .and. ::nHPos <= ::oWnd:oHScroll:nMax
      ::oWnd:oHScroll:SetPos(nNewPos)
      SysRefresh()
      ScrollWindow( ::oWnd:hWnd,           ;
         (::nHPos - nNewPos )*D_WIDTH,0,   ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nHPos := nNewPos
   endif
RETURN( NIL )

METHOD HScrollPgDown() CLASS TScrWnd
LOCAL nNewPos
   if ::nHPos < ::oWnd:oHScroll:nMax
      nNewPos := ::nHPos + ::oWnd:oHScroll:nPgStep
      nNewPos := iif(nNewPos > ::oWnd:oHScroll:nMax, ::oWnd:oHScroll:nMax, nNewPos)
      SysRefresh()
      ScrollWindow( ::oWnd:hWnd,           ;
         ( ::nHPos - nNewPos )*D_WIDTH,0,  ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nHPos := nNewPos
   endif
RETURN( NIL )

METHOD HScrollPgUp() CLASS TScrWnd
LOCAL nNewPos
   if ::nHPos > ::oWnd:oHScroll:nMin
      nNewPos := ::nHPos - ::oWnd:oHScroll:nPgStep
      nNewPos := iif(nNewPos < ::oWnd:oHScroll:nMin,::oWnd:oHScroll:nMin,nNewPos)
      SysRefresh()
      ScrollWindow( ::oWnd:hWnd,           ;
         ( ::nHPos - nNewPos )*D_WIDTH,0,  ;
         0 , GetClientRect(::oWnd:hWnd) )
      ::nHPos := nNewPos
   endif
RETURN( NIL )

//=* End of File =================================================

procedure AppSys   // Xbase++ requirement

return
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 330
Joined: Fri May 25, 2007 09:06 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Sat Oct 18, 2008 11:07 AM

BRAVO MASTER ANTONIO.. SIMPLEMENTE GENIAL...

A VECES ME PREGUNTO Q HARIAMOS SIN TI ESTOS SIMPLES MORTALES:::

GRACIAS Y MIL GRACIAS.. ES LO QUE NECESITABA..

SALUDOS...

Posts: 330
Joined: Fri May 25, 2007 09:06 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Mon Oct 20, 2008 05:16 PM

MASTER ANTONIO,,, UNA CONSULTILLA

ESTA FORMA DE MANEJAR LOS SCROLL..,, ESTARAN DISPONIBLE EN ALGUNA DE TUS NUEVAS VERSIONES,, O YA ESTAN SOPORTADAS,, SIN LA NECESIDAD DE USAS UNA CLASE,, ADICIONAL PARA ELLO..

GRACIAS:::

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
PARA ANTONIO LINARES ( MASTER ) SOBRE SCROLL
Posted: Mon Oct 20, 2008 05:26 PM

Ya hemos a帽adido la DATA bMouseWheel para la versi贸n 8.11, y efectivamente como indicas, lo id贸neo es soportar el scroll automaticamente sin necesidad de usar una clase adicional.

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion