Hallo,
um die SubItems eines ListView editierbar zu machen, habe ich dank Google eine Anleitung gefunden, wie es mit C# geht:
codezentrale.bplaced.net/dcz/?p=879
Ich will versuchen, das nach Delphi zu übertragen, komme aber schon an dieser Stelle nicht weiter:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| // Event des ListViews // zum Merken des zuletzt angeklickten ListViewItems private void ListView1_MouseUp(object sender, MouseEventArgs e) { ListViewHitTestInfo htInfo = ListView1.HitTest(e.X, e.Y); if (htInfo != null) { if (htInfo.Item != null && htInfo.SubItem != null) { _lvSubItemEdit = htInfo.SubItem; } } } |
In Delphi kann ich nur so schreiben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var hts : THitTests; ListViewCursPos : TPoint; SelectedItem : TListItem; begin hts := ListView1.GetHitTestInfoAt(ListViewCursPos.X, ListViewCursosPos.Y) ; if hts = [htOnLabel] then begin SelectedItem := ListView1.Selected; Label1.Caption := SelectedItem.Caption; end; end; |
Davon ausgehend könnte ich jetzt die SubItems auslesen und alle vorhandenen SubItems zum Editieren anbieten. Das ist aber nicht Sinn der Übung.
Gibt es eine Möglichkeit, die Eigenschaft htOnItem so wie in C# auszuwerten?