Delphi-PRAXiS

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/)
-   -   FreePascal ListView Eintrag durchstreichen? (https://www.delphipraxis.net/181914-listview-eintrag-durchstreichen.html)

AlexII 17. Sep 2014 15:18

ListView Eintrag durchstreichen?
 
Wie macht man das?

Delphi-Quellcode:
ListView1.Font.Style := ListView1.Font.Style + [fsStrikeOut];
bezieht sich auf die ganze Liste, ich möchte aber nur einen Eintrag bzw. Zeile streichen.

Danke!

himitsu 17. Sep 2014 15:21

AW: ListView Eintrag durchstreichen?
 
Diesen Eintrag selber malen und da kannst dann machen was du willst. (OwnerDraw)

AlexII 17. Sep 2014 15:27

AW: ListView Eintrag durchstreichen?
 
Zitat:

Zitat von himitsu (Beitrag 1272906)
Diesen Eintrag selber malen und da kannst dann machen was du willst. (OwnerDraw)

Anders nicht? Ist das aber kompliziert...

himitsu 17. Sep 2014 15:30

AW: ListView Eintrag durchstreichen?
 
Nein, anders nicht.

Wenn man Glück hat, dann folgt der OwnerDraw-Methode dennoch die Default-Methode, welche Farb/Schriftdefinitionen aus der eigenen Methode nicht wieder überschreibt.
Dann bräuchte man für jeden Eintrag nur den Font entsprechend setzen und würde den Rest dem DefaultDraw überlassen.

Aber die ListView macht nur entweder das Eine oder das Andere und das für alles.

AlexII 17. Sep 2014 15:34

AW: ListView Eintrag durchstreichen?
 
Schade... vllt eine andere Frage nebenbei...

Wie lasse ich in einer ListView bei allen Einträgen die CheckBox auf True setzen? Vorhanden sind sie schon, muss sie nur noch abhacken.

baumina 17. Sep 2014 15:36

AW: ListView Eintrag durchstreichen?
 
Abhacken tut sicher sehr weh, aber fürs abhaken der Items, gibt's da sicherlich eine Eigenschaft "Checked".

Headbucket 18. Sep 2014 07:39

AW: ListView Eintrag durchstreichen?
 
Zitat:

Zitat von AlexII (Beitrag 1272912)
Wie lasse ich in einer ListView bei allen Einträgen die CheckBox auf True setzen? Vorhanden sind sie schon, muss sie nur noch abhacken.

So schwer ist das doch nicht... .
Delphi-Quellcode:
for i := 0 to ListView1.Items.Count - 1 do
  Listview1.Items[i].Checked := true;
Alternativ einfach eine CheckListBox verwenden. Dort gibt es die Eigenschaft "CheckAll".

Grüße
Headbucket

Dejan Vu 18. Sep 2014 10:21

AW: ListView Eintrag durchstreichen?
 
Zitat:

Zitat von baumina (Beitrag 1272914)
Abhacken tut sicher sehr weh...

Prust. :-D Mein LCD ist jetzt saubergesprüht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz