hmm... czy da się zrobić tak, żeby Sliderem scrollować jakiś komponent? Np. jakimś_cudem (dobrze by było wiedzieć jak :( - jakoś nie widzę parametru 'scrollbars', 'scrollbar.visible' etc. ) wywalamy scrollbary z TListView, umieszczamy gdzieś SLider i gdy ktoś używa slider'a, to scrolluje się TListView.--- - -
Roszi
mialem ten sam problem :)
nie da sie tak zrobic jak mowisz
najpierw musisz ukryc scrollbary:
SetWindowLong(ListView1.Handle, GWL_USERDATA,
SetWindowLong(ListView1.Handle, GWL_WNDPROC,Integer(@ListBoxWindowProc)));
ShowScrollBar(ListView1.Handle, SB_BOTH, FALSE);
a pozniej:
ja uzywam VsSlider z Varian Workshop
wiec w oncreate dla form
piszesz:
vstmp:=vsslider1.Position;
a w onchange dla vsslider piszesz
if VsSlider1.Position>vstmp then
ListView1.Items[VsSlider1.MaxValue-VsSlider1.Position].MakeVisible(true);
if VsSlider1.Position<vstmp then
ListView1.Items[VsSlider1.MaxValue-VsSlider1.Position+ListView1.VisibleRowCount- 1].MakeVisible(true);
vstmp:=vsslider1.Position;
aha i przy kazdym dodaniu lub usunieciu z itemow piszesz (znowu :) )
procedure Zmiana;
var min,max:integer;
begin
if ListView1.Items.Count>listview1.VisibleRowCount then begin
GetScrollRange(listview1.handle,SB_VERT,min,max);
{lub SB_VERT - scroll pionowy , SB_HORZ, poziomy }
VsSlider1.MaxValue:=max-ListView1.VisibleRowCount;
VsSlider1.Position:=VsSlider1.MaxValue;
{maxvalue albo minvalue u mnie max jest u gory}
vstmp:=VsSlider1.Position;
end;
end;
heh
to by bylo na tyle :)
ps. jak cos nie dziala to pisz
--
--<<[ pzdr ]>>--
heh, dzieki man :). Jeszcze nie sprawdzałem, ale i tak dzieki :).
btw - var vstmp:integer; tak?--- - -
Roszi
sory zapomnialem
tak vstmp ma byc integer
ps. a tak przy okazji :)
zlookaj na moj prog w offtopic post ocena
--<<[ pzdr ]>>--
wlasnie sciagam :)
Co do kodu, to niestety u mnie nie dziala ;(. Po pierwsze w tej sekcji ktora ma wywalac scrollowanie, zaznacza mi ta czesc od '@ListBox'. Gdy zmienilem na ListView1.WindowProc to już nie zaznaczalo, ale program na wstepie sie wieszal ;(.
Dalej - gdy wywalilem kompletnie te deklaracje, to przy probie przesuniecia Slider'a program znowu sie wiesza ;( ;( ;(. Moze moglbys mi podeslac jakies zrodlo gdzie to jest wykorzystane? Mam zainstalowane Varian'y wiec z tym nie bedzie problemu {brawo} --- - -
Roszi