Zitat:
Wo wir dabei sind, warum über ListView1MouseUp() und ListView1.GetItemAt(X, Y) ?
das mache ich so weil ich in der listview auf eine CheckBox klicke und der code nur ausgeführt werden soll wenn ich diese eben klicke.
ich habe dein beispiel mit OnClick mal ausprobiert und es funktioniert. mein code macht nichts anderes aber es funktioniert nicht.
ich glaube das liegt daran dass ich mich im OnMouseUp-Event befinde. aber wenn ich tatsächlich auf OnClick umsteige, wie komme ich an den klick auf die checkbox dran?
---
ich habe das jetzt mal geändert:
es wird nicht mehr geprüft ob ich auf eine checkbox klicke und und und.
sobald ich das fenster mit der listview bestätige um den prozess danach zu starten rufe ich folgendes auf:
Delphi-Quellcode:
for i := 0 to WerteListe.Count - 1 do
begin
for j := 0 to ListView1.Items.Count - 1 do
begin
if (not ListView1.Items[j].Checked) and ItemGefunden(ListView1.Items[j], i) then
begin
break;
end;
end;
end;
selbst bei einer sortierten liste nach klick auf eine column wird so genau der string aus der stringlist entfernt welcher in der listview nicht checked ist.
aber warum das nicht in OnMouseUp nicht funktioniert sondern nur mit showmessage ist mir ein großes rätsel.