Hi,
Wow!
Clicking get control, it will scroll automatically if you are *NOT* running a drag touch.
regards
Code: Select all
//--------------------------------------------------------------------------//
METHOD HandleEvent( nMsg, nWParam, nLParam, nLastMsg ) CLASS TGet
STATIC lRunScroll
local oClp, cText, n
Local oTime
#Define uWINDOW_HANDLING(cMsg) (;
;
; // Log("WM.Txt", cMsg),;
;
::oWnd:HandleEvent(nMsg, nWParam, nLParam);
)
#Define lEVENT_(n, c) => If(n == nMsg, (uWINDOW_HANDLING(c), .t.), .f.)
DO CASE
CASE lEVENT_(WM_NCPOINTERDOWN , "WM_NCPOINTERDOWN") // 578
lRunScroll:= .f.
CASE lEVENT_(WM_NCPOINTERUP , "WM_NCPOINTERUP") // 579
lRunScroll:= .f.
CASE lEVENT_(WM_NCPOINTERUPDATE , "WM_NCPOINTERUPDATE") // 577
CASE lEVENT_(WM_PARENTNOTIFY , "WM_PARENTNOTIFY") // 528
CASE lEVENT_(WM_POINTERACTIVATE , "WM_POINTERACTIVATE") // 587
CASE lEVENT_(WM_POINTERCAPTURECHANGED , "WM_POINTERCAPTURECHANGED") // 588
CASE lEVENT_(WM_POINTERDEVICECHANGE , "WM_POINTERDEVICECHANGE") // 568
CASE lEVENT_(WM_POINTERDEVICEINRANGE , "WM_POINTERDEVICEINRANGE") // 569
CASE lEVENT_(WM_POINTERDEVICEOUTOFRANGE , "WM_POINTERDEVICEOUTOFRANGE") // 570
CASE lEVENT_(WM_POINTERUPDATE , "WM_POINTERUPDATE") // 581
lRunScroll:= .f.
CASE lEVENT_(WM_POINTERDOWN , "WM_POINTERDOWN") // 582
CASE lEVENT_(WM_POINTERENTER , "WM_POINTERENTER") // 585
CASE lEVENT_(WM_POINTERLEAVE , "WM_POINTERLEAVE") // 586
CASE lEVENT_(WM_POINTERUP , "WM_POINTERUP") // 583
CASE lEVENT_(WM_POINTERWHEEL , "WM_POINTERWHEEL") // 590
CASE lEVENT_(WM_POINTERHWHEEL , "WM_POINTERHWHEEL") // 591
CASE lEVENT_(WM_TOUCHHITTESTING , "WM_TOUCHHITTESTING") // 589
// .........................................................
// .........................................................
// .........................................................
CASE nMsg == WM_SETFOCUS .AND. !lUSAR_TIMER .AND. lONFOCUS_MOSTRAR_TECLADO
// Automatic Scroll Dialog scroll oGet controll most top than TabTip keyboard
lRunScroll:= .t.
::GotFocus( GetFocus())
DEFINE TIMER oTime INTERVAL 10 OF Self:oWnd ;
ACTION (If(lRunScroll, AutomaticScrollDlg(Self), nil), oTime:Deactivate())
ACTIVATE TIMER oTime
ENDCASE
return ::Super:HandleEvent( nMsg, nWParam, nLParam )