Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Schriftfarbenwechsel von TListItem, bei klick auf Checkbox des Items in TListView (https://www.delphipraxis.net/211646-schriftfarbenwechsel-von-tlistitem-bei-klick-auf-checkbox-des-items-tlistview.html)

Kevinpptx 17. Okt 2022 11:25

Schriftfarbenwechsel von TListItem, bei klick auf Checkbox des Items in TListView
 
Hallo, ich bin heute auf folgendes Problem gestoßen:

Ich habe eine TListView im ViewStyle vsReport mit Checkboxes auf True und möchte, dass wenn die Checkbox aktiviert ist, sich die Schriftfarbe der Zeile, also des TListItem auf Grün ändert. Wenn die Checkbox dann wieder ent-checked wird, soll sich die Schriftfarbe wieder auf Rot ändern.

Ich dachte dabei an das
Delphi-Quellcode:
CustomDrawItem
-Event in Kombination mit dem
Delphi-Quellcode:
ItemChecked
-Event, aber ich konnte noch an keine vernünftige Lösung denken und auch im Internet nichts dazu finden.

Hat jemand eine Idee?

Danke im Voraus

DeddyH 17. Okt 2022 11:57

AW: Schriftfarbenwechsel von TListItem, bei klick auf Checkbox des Items in TListView
 
So etwas hast Du schon versucht?
Delphi-Quellcode:
procedure TFormBlubb.ListViewBlaCustomDrawItem(Sender: TCustomListView; Item: TListItem;
  State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Item.Checked then
    Sender.Canvas.Font.Color := clGreen
  else
    Sender.Canvas.Font.Color := clRed;
end;

Kevinpptx 17. Okt 2022 12:10

AW: Schriftfarbenwechsel von TListItem, bei klick auf Checkbox des Items in TListView
 
Zitat:

Zitat von DeddyH (Beitrag 1513386)
So etwas hast Du schon versucht?
Delphi-Quellcode:
procedure TFormBlubb.ListViewBlaCustomDrawItem(Sender: TCustomListView; Item: TListItem;
  State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Item.Checked then
    Sender.Canvas.Font.Color := clGreen
  else
    Sender.Canvas.Font.Color := clRed;
end;

Delphi-Quellcode:
 Item.Checked
habe ich gar nicht bedacht :pale:, da habe ich mal wieder viel komplizierter gedacht, als notwendig...

Also funktioniert hat es, danke vielmals!

peterbelow 17. Okt 2022 13:12

AW: Schriftfarbenwechsel von TListItem, bei klick auf Checkbox des Items in TListView
 
Zitat:

Zitat von Kevinpptx (Beitrag 1513387)
Zitat:

Zitat von DeddyH (Beitrag 1513386)
So etwas hast Du schon versucht?
Delphi-Quellcode:
procedure TFormBlubb.ListViewBlaCustomDrawItem(Sender: TCustomListView; Item: TListItem;
  State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Item.Checked then
    Sender.Canvas.Font.Color := clGreen
  else
    Sender.Canvas.Font.Color := clRed;
end;

Delphi-Quellcode:
 Item.Checked
habe ich gar nicht bedacht :pale:, da habe ich mal wieder viel komplizierter gedacht, als notwendig...

Also funktioniert hat es, danke vielmals!

Schön, aber wenn die Anwendung nicht nur für dich selbst ist solltest du bedenken, das eine solch Farbgebung eine ergonomische Katastrofe ist, besonders für Leute mit Farbsehschwäche...

Kevinpptx 17. Okt 2022 15:25

AW: Schriftfarbenwechsel von TListItem, bei klick auf Checkbox des Items in TListView
 
Zitat:

Zitat von peterbelow (Beitrag 1513390)
Schön, aber wenn die Anwendung nicht nur für dich selbst ist solltest du bedenken, das eine solch Farbgebung eine ergonomische Katastrofe ist, besonders für Leute mit Farbsehschwäche...


Danke für den Hinweis, die Anwendung ist aber nur für mich. :thumb:

venice2 17. Okt 2022 17:00

AW: Schriftfarbenwechsel von TListItem, bei klick auf Checkbox des Items in TListView
 
Zitat:

Zitat von peterbelow (Beitrag 1513390)
Zitat:

Zitat von Kevinpptx (Beitrag 1513387)
Zitat:

Zitat von DeddyH (Beitrag 1513386)
So etwas hast Du schon versucht?
Delphi-Quellcode:
procedure TFormBlubb.ListViewBlaCustomDrawItem(Sender: TCustomListView; Item: TListItem;
  State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Item.Checked then
    Sender.Canvas.Font.Color := clGreen
  else
    Sender.Canvas.Font.Color := clRed;
end;

Delphi-Quellcode:
 Item.Checked
habe ich gar nicht bedacht :pale:, da habe ich mal wieder viel komplizierter gedacht, als notwendig...

Also funktioniert hat es, danke vielmals!

Schön, aber wenn die Anwendung nicht nur für dich selbst ist solltest du bedenken, das eine solch Farbgebung eine ergonomische Katastrofe ist, besonders für Leute mit Farbsehschwäche...

Es ist genauso katastrophal wenn man Katastrofe schreibt anstelle von Katastrophe.. :)
Lass ihn doch machen wie er will.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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