{ScrollBar] i wielkosc trackbara

0

czesc, mam sobie scrollbara, ale ten trackbar (tak to chyba sie nazywa), jest taki maciupenki, a chce zeby on byl odpowiedni do moich wymagan i zebym mogl jego wysokosc (wieklosc) ustawiac dynamicznie.
pozdrawiam

p.s. sa jakies alternatywne komponenty do scrollbara w sieci? np zeby bitmapy w nim ustawiac.

0
YaQb napisał(a)

czesc, mam sobie scrollbara, ale ten trackbar (tak to chyba sie nazywa), jest taki maciupenki, a chce zeby on byl odpowiedni do moich wymagan i zebym mogl jego wysokosc (wieklosc) ustawiac dynamicznie.
pozdrawiam

p.s. sa jakies alternatywne komponenty do scrollbara w sieci? np zeby bitmapy w nim ustawiac.

od konca.... nie pytaj czy sa tylko poszukaj. polecam www.torry.net ale przede wszystkim google :-P
co do tego trackbara... to nie wiem o co Ci dokladnie chodzi. jesli o to takie cos, co sie przesuwa, to jest to zalezne od maksymalnej wartosci scrollbara. czyli wystarczy ja np podzielic przez odpowiednia liczbe a potem jego pozycje przez ta liczbe mnozyc.

hmm.... czy Tobie na pewno chodzi o TScrollBar ?

0

cała ta sprawa jest jakaś dziwna. sposób jest taki jak poniżej, ale problem to obliczenie LargeChange. nic co znalazłem na grupach (szukaj) nie działało mi tak jak chciałem : scrollbar był przewinięty do końca stringgrida, a brakowało jeszcze całej strony komórek. więc rzecz policzyłem po swojemu.


D6 Windows SDK hasło 'Scroll Box Position and Scrolling Range'

i jeszcze:

procedure ScaleScrollbarVer;
var
info: TScrollInfo;
begin
VerScrollbar.LargeChange:=round((DetailsStringGrid.Height/(DetailsStringGrid.DefaultRowHeight+1))-1);
  FillChar(info, SizeOf(info), 0);
  with info do
  begin
    cbsize := SizeOf(info);
    fmask  := SIF_PAGE;
    nPage  := VerScrollBar.LargeChange;
  end;
  SetScrollInfo(VerScrollBar.Handle, SB_CTL, info, True);
VerScrollBar.Max:=DetailsStringGrid.RowCount+VerScrollBar.LargeChange-2;  
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1