Thema: Delphi TListView und Spalte

Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: TListView und Spalte

  Alt 30. Okt 2009, 08:10
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
Alex Winzer
  Mit Zitat antworten Zitat