Einzelnen Beitrag anzeigen

Benutzerbild von Amnon82
Amnon82

Registriert seit: 5. Jan 2005
186 Beiträge
 
FreePascal / Lazarus
 
#1

Eigefärbte Listview umfärben ohne zu löschen

  Alt 23. Apr 2006, 17:41
Ich hab eine Listview wo ich Audiodateien einlese.
Dann hab ich zwei radiobuttons mit denen ich SVCD und DVD definiere.

Wenn nun schon Audiostreams in der Listview sind will ich die Zeilen umfärben,
falls der User von SVCD auf DVD wechselt.

Delphi-Quellcode:
var i :integer;
begin
if dvd.checked=true then
begin
for i := 0 to audiolist.items.Count - 1 do

  if audiolist.Items[i].subitems[1]='48000then
    canvas.Font.Color := clgreen
  else
    Canvas.Font.Color := clred;
end
else
begin
for i := 0 to audiolist.items.Count - 1 do
if audiolist.Items[i].subitems[1]='44100then
    Canvas.Font.Color := clgreen
  else
    Canvas.Font.Color := clred;
end;
nur klappt der Code nicht.
Ich könnte zwar die Listview löschen und neu laden, wollte ich aber nicht.

Mir ist nun folgende Lösung eingefallen:

Delphi-Quellcode:
var i :integer;
s0,s1,s2,s3:string;
begin
for i := 0 to audiolist.items.Count - 1 do
begin
s0:=audiolist.Items[i].Caption;
s1:=audiolist.Items[i].subitems[0];
s2:=audiolist.Items[i].subitems[1];
s3:=audiolist.Items[i].subitems[2];
audiolist.Items[i].caption:='1111';
audiolist.Items[i].caption:=s0;
audiolist.Items[i].subitems[0]:='1111';
audiolist.Items[i].subitems[0]:=s1;
audiolist.Items[i].subitems[1]:='1111';
audiolist.Items[i].subitems[1]:=s2;
audiolist.Items[i].subitems[2]:='1111';
audiolist.Items[i].subitems[2]:=s3;
end;
  Mit Zitat antworten Zitat