OK, szukałem w necie, niczego, co by działało nie znalazłem :)
Grid ma wiele kolumn. Na tyle, że robi się poziomy pasek przewijania.
Teraz, jeśli przewinę go tak, żeby widzieć dalsze kolumny i kliknę myszką na inny rekord, scroll wraca do początku. Jest to trochę denerwujące, więc pomyślałem, że coś z tym trzeba zrobić. Niestety moje próby się nie powiodły.
Pozycję scrolla pobieram w zdarzeniu OnMouseDown, a ustawiam go w zdarzeniu OnMouseUp:
Pobieranie:
FScrollPos:=GetScrollPos(BaseGrid.Handle, SB_HORZ);
Ustawianie:
SetScrollPos(BaseGrid.Handle, SB_HORZ, FScrollPos, true);
Niestety to nie chce zadziałać. FScrollPos zawsze ma wartość zero :|
Próbowałem też z GetScrollInfo i SetScrollInfo, ale wszystkie pola zawsze miały wartość zero(oczywiście wypełniłem cbSize:=sizeOf(TScrollInfo) i fMask zgodnie z dokumentacją).
Czy ktoś wie, jak to zrobić?