![]() |
SetScrollInfo funktioniert bei mir nicht...
Benutze folgenden Code in meiner Applikation,um nach einem Update der Listbox, die scrollbar an die originale Position zu schieben.
Delphi-Quellcode:
Dieser Code bewegt zwar die Scrollbar, aber der Inhalt der Listbox verändert sich nicht, d. h. es ist so, als hätte man die scrollbar nicht verschoben... ich habs mit Listbox.repaint usw versucht... nix hilft, habt ihr eine idee?
scrollbarinfo.fMask:=SIF_POS;
getScrollInfo(Listbox1.Handle, SB_VERT, ScrollbarInfo); Listbox1.Items:=Strings; scrollbarinfo.fMask:=SIF_POS; SetScrollInfo(Listbox1.Handle, SB_VERT, ScrollBarInfo, true); UpdateWindow(Listbox1.Handle); mfg Benjamin |
Re: SetScrollInfo funktioniert bei mir nicht...
Hallo Benjamin,
warum mischst du VCL und non-VCL?
Delphi-Quellcode:
Getippt und nicht getestet.
var
iTop, iItem: Integer; begin with ListBox do begin iTop := TopIndex; iItem := ItemIndex; Items.BeginUpdate; Items.Assign(Strings); if iItem < Items.Count then begin ItemIndex := iItem; TopIndex := iTop; end else { ... }; Items.EndUpdate; end; end; Grüße vom marabu |
Re: SetScrollInfo funktioniert bei mir nicht...
Hi Marabu,
vielen Dank für deine Hilfe :) dein Code hat Wunder geholfen. Kannte die Eigenschaft TopIndex noch nicht und hatte sie daher auch garnicht in Betracht gezogen. mfg Benjamin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz