mam taki problem: otoz mam TListview na formie , ukrylem sobie scrollbary,
i wkleilem wlasny ( scrollbar oskinowany) pionowy i w event OnChange
napisalem:

procedure TForm2.VsSlider1Change(Sender: TObject);
var I:word;

begin
if VsSlider1.Position&gtvstmp then
for i:=1 to Vsslider1.Position-vstmp do
listview1.Perform(WM_VSCROLL,SB_LINEUP,0);

if VsSlider1.Position&ltvstmp then
for i:=1 to vstmp -VsSlider1.Position do
listview1.Perform(WM_VSCROLL,SB_LINEDOWN,0);
vstmp:=vsslider1.Position;
end;

ale to jest za wolne np. gdy mam np. 300 itemow to musze czekac jak przewija listview kilka sekund !!!

wiec sprobowalem czegos takiego:

procedure TForm2.VsSlider1Change(Sender: TObject);
begin
setscrollpos(Listview1.handle,SB_VERT,vsslider1.position,true);
end;

ale nic sie nie dzialo (z lista)

odkrylem sobie pionowy scrollbar
i setscrollpos dziala ale tylko pozycja scrollbara sie zmienia
a lista "stoi w miejscu" :(

nie wiem co zrobic zeby itemy wyswietlaly sie zgodnie z pozycja scrollbara :(

troche duzo sie rozpisalem ale mam nadzieje ze mnie zrozumiecie :)

moze ktos juz wie jak to zrobic? :)

moim zdaniem mozna jeszcze symulowac zdarzenie onClick lub OnMouseDown na scrollbarze (tylko nie wiem jak :)) bo po kliknieciu na zmieniony scrollbar itemy sie dobrze "ukladaja" :)

--
--&lt&lt[ pzdr ]&gt&gt--