Einzelnen Beitrag anzeigen

Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: [TListBox] Aktuelle Scrollzeile

  Alt 13. Feb 2007, 21:50
Versuche erst einmal Trackbar1.Position:= lbList.Count- //Items unterhalb der Listbox(also die nicht mehr sichtbar sind) Ansonsten so:
Delphi-Quellcode:
var
  Rect: TRect;
  WinInfo: TWindowInfo;
  iHeight: integer;
begin
  if listbox1.Count> 0 then
  begin
    ZeroMemory(@WinInfo, sizeOf(WinInfo));
    WinInfo.cbSize:= SizeOf(WinInfo);
    GetWindowInfo(listbox1.Handle, WinInfo);
    iHeight:= WinInfo.rcClient.Bottom- WinInfo.rcClient.Top;
    Trackbar1.Max:= ((Listbox1.Count* Listbox1.ItemHeight)- iHeight) div Listbox1.ItemHeight+ 1;
    Rect:= listbox1.ItemRect(0) ;
    caption:= inttostr(Rect.Top div listbox1.ItemHeight* -1);//Beispiel
    Trackbar1.Position:= (Rect.Top div listbox1.ItemHeight* -1)
  end;
end;
Das würde bei dir aber komisch aussehen, da du eine Trackbar aber keine Scrollbar hast.

EDIT: Code nochmal geändert, funktioniert im prinzip aber genauso.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat