AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Item in TListView einfärben

Ein Thema von BastardOp · begonnen am 13. Jun 2005 · letzter Beitrag vom 14. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
BastardOp

Registriert seit: 5. Jun 2005
71 Beiträge
 
Delphi 7 Personal
 
#1

Item in TListView einfärben

  Alt 13. Jun 2005, 22:00
Hi

ich wollte mal frage ob und wie es geht das ich ein einzelnes Item in eine TListView in einer bestimmten Farbe einfärb wenn ein bestimmter Inhalt vorliegt.
Habe es bereits hinbekommen jede zweite Zeile einzufärben.
ich hab meine TListView auf vsRecord

Ich hoffe ihr könt mir helfen

MfG
BastardOp
Alle Menschen sind Ausländer FAST ÜBERALL!!!
Alle Rassisten sind ARSCHLÖCHER ÜBERALL!!!
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#2

Re: Item in TListView einfärben

  Alt 13. Jun 2005, 22:03
Wenn du jedes 2. Item einfärben kannst, was hindert dich daran genau das gleiche nur mit einem einzigen zu machen?
  Mit Zitat antworten Zitat
BastardOp

Registriert seit: 5. Jun 2005
71 Beiträge
 
Delphi 7 Personal
 
#3

Re: Item in TListView einfärben

  Alt 13. Jun 2005, 22:06
Im mom kann ich nur jede 2. Zeile einfärben aber ich will jetzte nur einzellne Zellen einfärben wen in denen "ja" steht
Alle Menschen sind Ausländer FAST ÜBERALL!!!
Alle Rassisten sind ARSCHLÖCHER ÜBERALL!!!
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#4

Re: Item in TListView einfärben

  Alt 13. Jun 2005, 22:08
schau mal http://www.delphipraxis.net/internal...=148033#148033
  Mit Zitat antworten Zitat
BastardOp

Registriert seit: 5. Jun 2005
71 Beiträge
 
Delphi 7 Personal
 
#5

Re: Item in TListView einfärben

  Alt 14. Jun 2005, 17:52
also ich habe mir mal die links angeschyut aber werde nich wirklich schlau draus.

Delphi-Quellcode:
procedure TForm1.ListView6CustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
  var Item2 : TListItems;

  begin
  Item2 := ListView6.Items;
with ListView6.Canvas.brush do
  begin
    
    if string(Item2) = 'ja'  then
    begin
      Color := clred;
    end;
    if string(Item2) = 'nein'  then
    begin
      Color := clBlack;
    end;
  end;
end;
den code habe ich im mom nur leider färbt sich damit nichts zu vor hatte ich keine 2. if anweisung sondern ein normales else drin und da wurden alle zeilen bei mir schwarz gemacht. Was mache ich flasch?


MfG
BastardOp
Alle Menschen sind Ausländer FAST ÜBERALL!!!
Alle Rassisten sind ARSCHLÖCHER ÜBERALL!!!
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#6

Re: Item in TListView einfärben

  Alt 14. Jun 2005, 18:12
Und wie kommst du auf den Code?

Du kannst nicht einfach TListitems auf String casten. Ausserdem ist mir schleierhaft, was du damit überhaupt willst. Du bekommst das aktuelle Item + Subitem doch als Parameter.

Versuchs mal so:
Delphi-Quellcode:
procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
begin
with ListView1.Canvas.brush do
  begin
    if (Item.SubItems[Subitem] = 'ja') then
    begin
      Color := clred;
    end
    else
    begin
      Color := clBlack;
    end;
  end;
end;
Ist ungetestet, könnte aber funktionieren

*edit* da fehlte noch ein "s"
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Item in TListView einfärben

  Alt 14. Jun 2005, 18:21
Kleiner Verbesserungsvorschlag:

Delphi-Quellcode:
with Sender.Canvas.Brush do
  if Item.SubItems[Pred(SubItem)] = 'ja
    then Color := clred
    else Color := clBlack;
Später müsste man dann noch State auswerten, damit das ganze schöner aussieht.

Grüße vom marabu
  Mit Zitat antworten Zitat
BastardOp

Registriert seit: 5. Jun 2005
71 Beiträge
 
Delphi 7 Personal
 
#8

Re: Item in TListView einfärben

  Alt 14. Jun 2005, 18:22
thx der code funzt soweit auch ganz gut aber is nicht ganz das was ich möchte denn ich will das nur die zelle in der ja bzw. nein steht gefärbt wird nun wird immer alles außer die 1. splate gefärbt.

wie geht des?
Alle Menschen sind Ausländer FAST ÜBERALL!!!
Alle Rassisten sind ARSCHLÖCHER ÜBERALL!!!
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Item in TListView einfärben

  Alt 14. Jun 2005, 18:25
Wenn der Code in OnCustomDrawSubItem steht, dann wird nur die Zelle gefärbt - bei mir.

marabu
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#10

Re: Item in TListView einfärben

  Alt 14. Jun 2005, 18:28
Zitat von marabu:
Kleiner Verbesserungsvorschlag:

Delphi-Quellcode:
with Sender.Canvas.Brush do
  if Item.SubItems[Pred(SubItem)] = 'ja
    then Color := clred
    else Color := clBlack;
Später müsste man dann noch State auswerten, damit das ganze schöner aussieht.

Grüße vom marabu
Pred? Ist SubItem nicht der Index?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 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