![]() |
Listview: Zellenclick
Hallo
wie kann ich es realisieren, dass jenachdem auf welche Zelle geklickt wurde eine andere Funktion ausgeführt wird. Mein Listview hat rowselect = true, will heißen, es wird immer die ganze Zelle markiert. Dass soll auch so bleiben nur hätte ich gerne, dass beim Klick in verschiedene Zellen auch verschiedene Funktionen aufgeerufen werden. Dabei stellt sich auch ein weiteres Problem: Ich meine Spalten sind resizable, von dem her kann mann auch nicht so einfach über die x - Koorinaten arbeiten. WEiß einer einer Lösung? Danke TO |
Man könnte es so lösen:
Code:
Diese Funktion liefert in "out Col" die Spalte. Wenn keine aus irgendwelchen Gründen keine Spalte ausgewählt wurde, dann wird -1 zurückgeliefert. In "out Item" wird das zu X/Y passende ListItem zurückgeliefert.
[b]function[/b] GetItemAndColAt(ListView: TListView; X, Y: Integer;
out Item: TListItem; out Col: Integer): Boolean; [b]var[/b] i, xx, w: Integer; [b]begin[/b] Result := False; Col := -1; [b]with[/b] ListView [b]do[/b] [b]begin[/b] Item := GetItemAt(X, Y); [b]if[/b] Item = [b]nil[/b] [b]then[/b] Exit; xx := 0; [b]for[/b] i := 0 [b]to[/b] Columns.Count - 1 [b]do[/b] [b]begin[/b] w := Columns[i].Width; [b]if[/b] (X >= xx) [b]and[/b] (X < xx + w) [b]then[/b] [b]begin[/b] Col := i; Exit; [b]end[/b] [b]else[/b] Inc(xx, w); [b]end[/b]; [b]end[/b]; Result := True; [b]end[/b]; |
funzt nicht: Columns.Count gibt es nicht!
|
Schonmal mit ListView1.Columns.Count probiert?
Grüsse, Daniel :hi: |
funzt auch nciht: es gibt kein listview.columns nur .colum Und dass erwartet sofort einen Index, es gibt kein Count!
|
also bei mir gibts es
Code:
In der Hilfe die VCL und nicht die CLX nehmen!!!!
listview1.Columns.Count
|
Das Problem liegt an TCustomListView, des wider der in der Online Hilfe als published beschriebenen Eigenschaft Columns, diese als protected deklariert.
Ändere das TCustomListView im Prozedukopf in TListView um (so wie ich es oben bereits gemacht habe). |
Habe es selber gemerkt!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 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