![]() |
TListView: Verschieben von Items: Problem mit Focus
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe von den Schweizern einen Code gefunden um Items in einer ListView auszutauschen ( ![]() Ich habe diesen Code auf meine Bedürfnisse erweitert, unter anderem auch, dass der ItemIndex "mitwandert". Nun hab ich aber das Problem, dass zwar die Markierung mitwandert, der Focus aber nicht (damit mein ich das gestrichelte Rechteck. Anbei mein Test-Programm mit der umgebauten Procedure. Kann mir jemand helfen, wie ich den Focus mitwandern lassen kann? |
Re: TListView: Verschieben von Items: Problem mit Focus
Hallo Helmi,
Focused und Selected sind Eigenschaften, die gesondert behandelt werden müssen:
Delphi-Quellcode:
Grüße vom marabu
procedure ExchangeItems(items: TListItems; index1, index2: Integer);
var li, item1, item2: TListItem; b: Boolean; procedure SwapFocus(item1, item2: TListItem); begin b := item1.Focused; item1.Focused := item2.Focused; item2.Focused := b; end; procedure SwapSelected(item1, item2: TListItem); begin b := item1.Selected; item1.Selected := item2.Selected; item2.Selected := b; end; begin item1 := items.Item[index1]; item2 := items.Item[index2]; items.BeginUpdate; try li := TListItem.Create(items); li.Assign(item1); item1.Assign(item2); item2.Assign(li); SwapFocus(item1, item2); SwapSelected(item1, item2); li.Free; finally items.EndUpdate end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:25 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 by Thomas Breitkreuz