Zitat von
DeddyH:
In operiert mit Mengen. Mengenelemente dürfen aber maximal den Wert 255 haben, die Summe der Spaltenbreiten ist aber größer, deshalb klappt das nicht.
Auch hier hast Du mal wieder
ins Schwarze getroffen. Der Code funktioniert jetzt. CurCol ist nicht erforderlich. Ich habe das über eine Abfrage gelöst. Denn CurCol wäre sonst auch am Ende evtl. 0 und ich könnte nicht prüfen, ob außerhalb der Spalten geklickt wurde. Habe es jetzt so gemacht:
Delphi-Quellcode:
begin
aLeft:=0;
For I:=0 To Pred(ListView1.Columns.Count) Do
Begin
If (X >= aLeft) and (X <= (aLeft + ListView1.Columns[I].Width)) Then
Break
Else
aLeft:=aLeft + ListView1.Columns.Items[I].Width;
End;
If I > Pred(ListView1.Columns.Count) Then I:=-1;
Label1.Caption:='Zeile: ' + IntToStr(ListView1.ItemIndex) + ' | ' +
'Spalte: ' + IntToStr(I);
end;
@himitsu
Ich weise auch hier die Bildchen nur per BildIndex zu. Ich brauche VirtualTreeView dazu nicht. Die hatte ich schon einmal am Wickel. Mit kurz mal auf das Form ziehen und loslegen war nicht und die wirklich dicke Anleitung wollte ich mir nicht durchlesen.
Jetzt habe ich aber immer noch ein Problem:
Um ItemIndex hatte ich mich nicht gekümmert. Ich hatte mich darauf verlassen, dass sich TListView allein darum kümmert. Tut sie aber nicht. Ich sehe bei Zeile jetzt immer -1 und das obwohl ich vorher zig Zeilen angelegt habe. Daran kann es also nicht liegen...
Wo liegt denn hier nun wieder mein Denkfehler?
Alex