Im Impressed of the teamwork... it was a matter of removing the WM_PAINT, processing %SB_THUMBTRACK and using Redrawwindow!!!.
Thanx everyone!

Call UpdateWindow(hwndForm) Call SendMessage(hWNdForm, %WM_PAINT, 0, 0)
Local SB As SCROLLINFO Local RC As Rect Local Xscroll As Long Local PosOld As Long Local PosNew As Long Local hWndPos As Dword SB.cbSize = SizeOf(SB) SB.fMask = %SIF_RANGE Or %SIF_PAGE Or %SIF_POS Call GetScrollInfo(hWndForm, %SB_HORZ, SB) PosOld = SB.nPos Select Case nScrollCode Case %SB_LINELEFT If SB.nPos > SB.nMin Then Decr SB.nPos Case %SB_LINERIGHT If SB.nPos < SB.nMax Then Incr SB.nPos Case %SB_THUMBPOSITION SB.nPos = nPosition Case %SB_PAGELEFT If SB.nPos > SB.nMin + 384 Then SB.nPos = SB.nPos - 384 Else SB.nPos = SB.nMin End If Case %SB_PAGERIGHT If SB.nPos < SB.nMax - 384 Then SB.nPos = SB.nPos + 384 Else SB.nPos = SB.nMax End If Case %SB_ENDSCROLL SB.nPos = GetScrollPos(hWndForm, %SB_HORZ) End Select PosNew = SB.nPos Call GetClientRect(hWndForm, RC) Xscroll = (PosOld - PosNew) Call SetScrollInfo(hWndForm, %SB_HORZ, SB, %false) Call ScrollWindowEx(hWndForm, XScroll, 0, ByVal %Null, RC, %Null, ByVal %Null, %SW_INVALIDATE Or %SW_SCROLLCHILDREN) Call UpdateWindow(hwndForm) Call SendMessage(hWNdForm, %WM_PAINT, 0, 0)
We process personal data about users of our site, through the use of cookies and other technologies, to deliver our services, and to analyze site activity. For additional details, refer to our Privacy Policy.
By clicking "I AGREE" below, you agree to our Privacy Policy and our personal data processing and cookie practices as described therein. You also acknowledge that this forum may be hosted outside your country and you consent to the collection, storage, and processing of your data in the country where this forum is hosted.
Leave a comment: