hab ein neues projekt erstellt und den code entsprechen reinkopiert, leider immer noch derselbe fehler... hier mein test-coding aus dem "leeren" projekt:
procedure TForm1.FormCreate(Sender: TObject);
var
NewItem: TListItem;
begin
//zum Probieren für das ListView -->später löschen
//Vorab-Definitionen
lsvBand.ViewStyle := vsReport;
lsvBand.RowSelect := True;
//Füllen der ListView
NewItem := lsvBand.Items.Add; //Zeile erzeugen (Item 0)
NewItem.Caption := '4711'; //Item 0, Caption
NewItem.SubItems.Add('Hallo'); //Item 0, SubItem 0
NewItem.SubItems.Add('Hallo'); //Item 0, SubItem 1
NewItem.SubItems.Add('Hallo'); //Item 0, SubItem 2
NewItem := lsvBand.Items.Add; //nächste Zeile erzeugen
NewItem.Caption := '4712';
NewItem := lsvBand.Items.Add; //nächste Zeile erzeugen
NewItem.Caption := '4713';
NewItem := lsvBand.Items.Add; //nächste Zeile erzeugen
NewItem.Caption := '4714';
NewItem := lsvBand.Items.Add; //nächste Zeile erzeugen
NewItem.Caption := '4715';
//Zellen überschreiben
// Zeile Spalte
lsvBand.Items[2].Caption := 'tttt';
lsvBand.Items[0].SubItems[0] := 'kiki' ;
end;
procedure TForm1.lsvBandAdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
var
rechteck: TRect;
begin
with lsvBand.Canvas do
begin
// If Stage = cdPostPaint then With Sender as TListView do
begin
//zeichnet eine Linie unterhalb der Zeile "Item"
rechteck := Item.DisplayRect(drBounds);
MoveTo(rechteck.Left, rechteck.Bottom-1);
LineTo(rechteck.Right, rechteck.Bottom-1);
end;
//Abfrage ob Eintrag markiert
if cdsSelected in State then
begin
font.Color := clwhite;
end
end;
end;
[...Gut zu wissen. Ich habe "nur" D2006 ...
Geht denn das Zeichnen der Linie, wenn du mal ein komplett neues Projekt nur zum testen anfängt?
Wenn ja, poste doch mal etwas von deinem Code, vlt. wird dort ja ein Fehler ersichtlich
[/quote]