Einzelnen Beitrag anzeigen

Konse

Registriert seit: 20. Feb 2007
Ort: Bayern
27 Beiträge
 
Delphi 7 Professional
 
#3

Re: Externes Scrollen einer Listbox mithilfe der WinApi

  Alt 21. Okt 2007, 19:46
hallo marabu

invalidate hat nichts gebracht, hatte ich schon versucht, da man ja generell neu zeichnen sollte. habe invalidate direkt vom control(listbox) aufgerufen, deren inhalt über die scrollbar scheinbar(?) verschoben worden ist.

zu testzwecken habe ich mir das scrollbar von der listbox mitanzeigen lassen, das läuft parallel zu meiner eigenen scrollbar, wie gewünscht.

Inhalt wird leider nicht weiterangezeigt.




hier ein Beispiel:
Damit setze ich die werte meiner scrollbar
Delphi-Quellcode:
var
  sinfo:tagSCROLLINFO;
begin
  FillMemory(@sinfo, SizeOf(sinfo), 0);
  sinfo.cbSize:=SizeOf(sinfo);
  sinfo.fMask:=SIF_ALL;
  GetScrollInfo(self.lst1.Handle, SB_VERT, sInfo);

  self.scrlbr1.SetParams(sinfo.nPos, sinfo.nMin, sinfo.nMax);
  self.scrlbr1.PageSize:=sinfo.nPage;
damit versuche ich zu ersteinmal scrollen.
Delphi-Quellcode:
procedure TForm1.scrlbr1Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
var
  r:TRect;
begin
  r:=lst1.ClientRect;
  ScrollWindowEx(lst1.Handle, 0, ScrollPos+1, 0, @r, 0, 0,SW_SCROLLCHILDREN);
  lst1.Invalidate;
end;

wäre klasse wenn mir jemand sagen könnte, wie man die listbox (lst1) einfach scrollen könnte.

vielen dank für die hilfe



PS: der wert der scrollpos ist nicht korrekt, soll hier nur ein beispiel sein.
Warum ich Klingonische Programmierer so liebe:
- A true Klingon programmer does not comment his code
- You cannot truly appreciate Dilbert unless you´ve read in the original klingon
  Mit Zitat antworten Zitat