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