Thema: Delphi TListView - OnDataHint

Einzelnen Beitrag anzeigen

ManfredG

Registriert seit: 12. Feb 2007
Ort: Berlin
34 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

TListView - OnDataHint

  Alt 13. Okt 2018, 18:24
Ich arbeite gerade an einem virtuellen ListView.
Kann mir jemand einen Hinweis geben, wie man das Ereignis OnDataHint bedient?
Ich finde kaum Informationen in der DP, aber auch nichts brauchbares in anderen Quellen.
Mein erster Ansatz war folgender:

LvFiles ist ein TListView, OwnerData ist TRUE, OwnerDraw ist FALSE
FileObjLst ist ein TList, in dem sich die Daten der virteuellen Items befinden (FileObj)

Delphi-Quellcode:
Procedure THF.LvFilesDataHint (Sender: TObject; StartIndex, EndIndex: Integer);
Var
  Idx : Integer;
  Item: TListItem;
  FileObj: TFileObj;
  FilePathName: string;
Begin
  CodeSite.Send ('LvFilesDataHint for Lines ' + IntToStr(StartIndex)+' to '+ IntToStr(EndIndex));
  For Idx := StartIndex To EndIndex Do
  Begin
    Item := LvFiles.Items.Item[Idx];
    FileObj := FileObjLst[Item.Index];
    CodeSite.Send ('LvFilesData for: ' + FileObj.FileName, FileObj);
    Item.Data := FileObj;
    Item.Caption := FileObj.FileName; // NUR Dateiname (wird angezeigt)
    FilePathName := FileObj.NodeFldrObj.AbsPathEx + '\' + FileObj.FileName; // Pfad + Dateiname für weitere Verwendung
    Item.ImageIndex := IconList.FindIcon (FilePathName); // Bildindex in Windows Hauptliste small images
    Item.SubItems.Add (FileObj.FileLenS); // SubItem 0 - Dateigröße
    Item.SubItems.Add (FileObj.FileType); // SubItem 1 - Dateitype
    Item.SubItems.Add (formatdatetime('yyy-mm-dd hh:nn:ss', FileObj.FileDate)); // Subitem 2 - Änderungsdatum
    Item.SubItems.Add (FileObj.FileAttr); // SubItem 3 - Dateattribute
  End;
End;
Ich kann keine Auswirkungen dieser Procedure erkennen, was habe ich nicht richtig verstanden?
Manfred
Manfred Götze
  Mit Zitat antworten Zitat