Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TListView und Spalte (https://www.delphipraxis.net/142510-tlistview-und-spalte.html)

Gollum 30. Okt 2009 10:13

Re: TListView und Spalte
 
Hallo,

die aktuell gewählte Zeile des Listview bekommst Du so:
Delphi-Quellcode:
  row:=ListView1.Selected.Index;

Schwedenbitter 30. Okt 2009 10:45

Re: TListView und Spalte
 
Zitat:

Zitat von Gollum
Hallo,
die aktuell gewählte Zeile des Listview bekommst Du so:
Delphi-Quellcode:
   row:=ListView1.Selected.Index;

@Gollum
Boxberg = Das Boxberg in Sachsen?

Ich habe den Tipp gern aufgenommen. Allerdings bekomme ich jetzt immer eine nicht näher definierte EAccessViolation (Zugriffsverletzung bei Adresse ...). Es kann nur an Selected.Index liegen, denn davor lief die Procedure zumindest durch. Gibt es da noch etwas zu beachten?

Gruß, Alex

DeddyH 30. Okt 2009 10:58

Re: TListView und Spalte
 
Das CurCol hatte schon seine Berechtigung. Nach Ablauf der Schleife ist i nicht definiert, so dass ich mir Treffer in CurCol merke. Außerdem steht dort der Initialwert -1 drin, wenn es keinen Treffer gab.

Gollum 30. Okt 2009 11:56

Re: TListView und Spalte
 
Zitat:

Zitat von Schwedenbitter
@Gollum
Boxberg = Das Boxberg in Sachsen?

Nein, Boxberg, Baden Württemberg.

Bzgl. Deiner EAccessViolation bin ich etwas verwundert. Die entsprechende Zeile müsste doch markiert sein (OnMouseDown).

Überprüfe einmal mit
Delphi-Quellcode:
  if (ListView1.Selected<>nil) then
    ShowMessage(IntToStr(ListView1.Selected.Index));
ob die entsprechende Zeile überhaupt markiert ist.

Schwedenbitter 31. Okt 2009 10:39

Re: TListView und Spalte
 
Danke, das war es:

Zitat:

Zitat von Gollum
Überprüfe einmal mit ...
ob die entsprechende Zeile überhaupt markiert ist.

War sie nicht, bis ich dann RowSelect:=True; gesetzt hatte. Jetzt klappt es. Ich habe aber immer den Balken blau. Gibt es auch eine Möglichkeit ohne RowSelect?

Dann habe ich mal eine Frage zum Einbinden von Objekten:
Ich habe anhand dieses Threads herausgefunden, dass man z.B. auch eine TCheckBox einbinden kann. Bei mir klappt das aber nur in der ersten Spalte, wo es die TListView ja schon selbst unterstützt sowie noch in der zweiten Spalte. Wenn ich in dem folgenden Code I durch 1 bzw. 2 ersetze, kommt die CheckBox dann wieder in der 1. Spalte
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
   I            : Integer;
   Bereich      : TRect;
   CB            : TCheckBox;
begin
   I:=0;
   ListView1.Items.Add.Caption:='Test';
   Bereich:=Listview1.Items[Pred(ListView1.Items.Count)].DisplayRect(drBounds);
   Bereich.left:=Bereich.Left + Listview1.columns[I].Width;
   Bereich.right:=Bereich.Left + Listview1.columns[Succ(I)].Width;
   CB:=TCheckBox.Create(self);
   CB.Parent:=Listview1;
   CB.BoundsRect:=Bereich;
   CB.Checked:=True;
   Listview1.items[Pred(ListView1.Items.Count)].Data:=CB;
end;
Kann mir bitte da jetzt noch jemand einen Tip geben?

Denn dann müsste ich das nicht mehr - wie geplant - mit den Bildchen (ImageIndex) machen, sondern könnte direkt CheckBoxen in jeder Spalte verwenden...

Gruß, Alex

Schwedenbitter 4. Nov 2009 23:17

Re: TListView und Spalte
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe es jetzt fertig. Für alle die, die es gebrauchen können, habe ich den Quelltext beigefügt.

Ich würde mich aber immer noch freuen, wenn mir jemand einen Hinweis geben könnte, wie ich es mit TCheckBox in der Liste hinbekommen kann ...

Gruß, Alex


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Seite 2 von 2     12   

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 by Thomas Breitkreuz