Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: Kann ich meine ListView beschleunigen (Icon laden dauert ewig)

  Alt 13. Nov 2018, 14:03
Ich hoffe *bet* das ichs jetzt gerafft habe:
Delphi-Quellcode:
procedure TfrmMain.StartIcons();
begin
  TThread.CreateAnonymousThread(procedure ()
    var
      LIcon: TIcon;
      dummy: Word;
    begin
      dummy := 0;
      LIcon := TIcon.Create;
      LIcon.Transparent := True;
      try
        TThread.Synchronize (TThread.CurrentThread, procedure ()
          var
            I: Integer;
          begin
            lvFiles.Update;
            FileIcons.BeginUpdate;
            for i := 0 to lvFiles.Items.Count -1 do
              begin
                LIcon.Handle := ExtractAssociatedIcon( hInstance, PWideChar( lvFiles.Items.Item[ i ].Caption ), dummy );
                LIcon.Transparent := True;
                lvFiles.Items.Item[ i ].ImageIndex := FileIcons.AddIcon( LIcon );
                DestroyIcon( LIcon.Handle );
              end;
          end);
      finally
        FileIcons.EndUpdate;
        LIcon.Free;
      end;
    end).Start;
end;
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat