Und kann man das Rect auch verkleinern, wenn man im virtuellen Modus arbeitet ? Dort gibt es in OnData an der markierten Stelle immer eine Zugriffsverletzung, obwohl das Array befüllt ist. Es scheint so, als würde erst OnData, dann OnCustomDrawItem und zum Schluss noch einmal OnData aufgerufen werden.
Delphi-Quellcode:
// OnwerData=True
// OwnerDraw=False <-- Fehler in Delphi, OwnerDraw darf nicht True sein.
procedure TRazFileManager.LVData(Sender: TObject; Item: TListItem);
begin
with Item
do
begin
Caption := DirsFiles[
Index].
Name;
// AV
SubItems.Add(DirsFiles[
Index].Typ);
if Pfad = '
root'
then
SubItems.Add(DirsFiles[
Index].Pfad);
ImageIndex := DirsFiles[
Index].ImageIndex;
end;
end;
procedure TRazFileManager.LVCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
Sender.Canvas.Font.Color := clRed;
end;