Página 1 de 1
Para Xavi (Scroll de un browse)
Publicado: Sab Ene 23, 2016 12:58 am
por gabo1
Hola Xavi
Buscando en el foro. encontre
http://www.xailer.com/forum/viewtopic.p ... wse#p24833
Lo que quiero hacer es al tener presionado un boton sin soltarlo ejecute un PgUp o PgDown en el browse. He intentado con el siguiente codigo pero no funciona
Código: Seleccionar todo
//------------------------------------------------------------------------------
METHOD BtnUpItemsLButtonDown( oSender, nKeyFlags, nPosX, nPosY ) CLASS TFormComedor
::oTimerPgUpDown:Enable()
::oNE_NombreCliente:Value:= Time()
RETURN Nil
//------------------------------------------------------------------------------
METHOD BtnUpItemsLButtonUp( oSender, nKeyFlags, nPosX, nPosY ) CLASS TFormComedor
::oTimerPgUpDown:Stop()
RETURN Nil
//------------------------------------------------------------------------------
METHOD TimerPgUpDownTimer( oSender ) CLASS TFormComedor
::oBrwDetalle:SetFocus()
::oBrwDetalle:GoPageUp()
::oNE_NombreCliente:Value:= Time()
RETURN Nil
Alguna Sugerencia ?
Saludos!
Re: Para Xavi (Scroll de un browse)
Publicado: Lun Ene 25, 2016 10:08 am
por XeviCOMAS
Gabo
Este es el código de miTBrowse,...
CLASS TBrowse FROM XBrowse
PUBLISHED:
PROPERTY lAllowColHiding INIT .F. //NO Mostrar/Ocultar Columnes
PROPERTY lAllowColSizing INIT .F. //NO Canvi de Tamany Columnes
PROPERTY lAllowColSwapping INIT .F. //NO Moure Columnes
PROPERTY lRecordSelector INIT .F.
PROPERTY nColDividerStyle INIT blLIGHTGRAY
PROPERTY nRowDividerStyle INIT blLIGHTGRAY
PROPERTY nHeaderHeight INIT MulDiv( 19, Application:nScale, 100 )
PROPERTY nRowHeight INIT MulDiv( 18, Application:nScale, 100 )
PROPERTY nMarqueeStyle INIT bmHIGHLROW
PROPERTY nClrSelFocusPane INIT clActiveCaption
PROPERTY lColDividerComplete INIT .F.
PROPERTY nClrSelPane INIT clInactiveCaption
PROPERTY nClrSelText INIT clInactiveCaptionText
PROPERTY lVScroll INIT bsYES
PROPERTY lHScroll INIT bsNO
PROPERTY nBorderStyle INIT bvSUNKEN
COMPONENT TimerChange
METHOD New( oParent ) CONSTRUCTOR
METHOD WMRButtonDown( nWParam, nLParam )
METHOD WMKeyDown( nKey, nFlags, hWnd )
ENDCLASS
*
**
METHOD New( oParent ) CLASS TBrowse
WITH OBJECT ::TimerChange := TTimer():New( self )
:lEnabled := .F.
:nInterval := 350
:OnTimer := {|oSender| oSender:lEnabled := .F., ::oParent:oParent:xBrowse1Change() }
:Create()
END
RETURN ::Super:New( oParent )
*
**
METHOD WMRButtonDown( nWParam, nLParam ) CLASS TBrowse
local nPosX, nPosY
nPosX := LoWord( nLParam )
nPosY := HiWord( nLParam )
::SelectCellFromPoint( nPosX, nPosY )
RETURN ::Super:WMRButtonDown( nWParam, nLParam )
*
**
METHOD WMKeyDown( nKey, nFlags, hWnd ) CLASS TBrowse
If ::Super:lEditMode
RETURN ::Super:WMKeyDown( nKey, nFlags, hWnd )
EndIf
If nKey == VK_HOME .and. GetKeyState( VK_CONTROL ) < 0 //Ctrl+Inici... Primera Fila
RETURN ::Super:WMKeyDown( VK_HOME, nFlags, hWnd )
ElseIF nKey == VK_END .and. GetKeyState( VK_CONTROL ) < 0 //Ctrl+Final... Última Fila
RETURN ::Super:WMKeyDown( VK_END, nFlags, hWnd )
ElseIF nKey == VK_HOME .and. ::nMarqueeStyle # bmHIGHLROW .and. ::nMarqueeStyle # bmHIGHLROWRC .and. ::nMarqueeStyle # bmHIGHLROWMS //Inici... Primera Columna
::Super:GoLeftMost()
ElseIF nKey == VK_END .and. ::nMarqueeStyle # bmHIGHLROW .and. ::nMarqueeStyle # bmHIGHLROWRC .and. ::nMarqueeStyle # bmHIGHLROWMS //Final... Última Columna
*//Falla en la versió 2.7. Es penja si la darrera columna està ajustada i amés es congelen les columnes.
::Super:GoRightMost()
*::GoRightMost()
ElseIF nKey == VK_LEFT .and. (::nMarqueeStyle = bmHIGHLROW .or. ::nMarqueeStyle = bmHIGHLROWRC .or. ::nMarqueeStyle = bmHIGHLROWMS)
ElseIF nKey == VK_RIGHT .and. (::nMarqueeStyle = bmHIGHLROW .or. ::nMarqueeStyle = bmHIGHLROWRC .or. ::nMarqueeStyle = bmHIGHLROWMS)
ElseIF nKey == VK_PRIOR .and. GetKeyState( VK_CONTROL ) < 0 //Ctrl+RePag... Any Anterior
RETURN ::Super:WMKeyDown( 5000, nFlags, hWnd )
ElseIF nKey == VK_NEXT .and. GetKeyState( VK_CONTROL ) < 0 //Ctrl+AvPag... Any Següent
RETURN ::Super:WMKeyDown( 6000, nFlags, hWnd )
ELSE
RETURN ::Super:WMKeyDown( nKey, nFlags, hWnd )
ENDIF
RETURN 0
Un Saludo,
Xevi.
Re: Para Xavi (Scroll de un browse)
Publicado: Lun Ene 25, 2016 9:49 pm
por gabo1
Muchas Gracias Xavi!
Revisando y tratando de adaprtarlo a botones
Saludos!