AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TImageList-Alternative? Resource-Datei? Performance?
Thema durchsuchen
Ansicht
Themen-Optionen

TImageList-Alternative? Resource-Datei? Performance?

Ein Thema von Glados · begonnen am 15. Sep 2017 · letzter Beitrag vom 17. Sep 2017
 
nahpets
(Gast)

n/a Beiträge
 
#26

AW: TImageList-Alternative? Resource-Datei? Performance?

  Alt 16. Sep 2017, 02:19
Wie wäre es denn mit 'nem Nachfahren von TImageList?

Ein zusätzliches Attribut Names vom Typ TStrings, in das die Namen der Bilder kommen, in der Reihenfolge, in der sie in der Imageliste stecken.

Dann noch 'ne Methode GetImageIndexByName (oder so), die per IndexOf in den Strings nach dem Namen sucht und, durch die identische Sortierung, dann den passenden ImageIndex liefert.

Für die Methoden Add, Insert ... der ImageList könnte man Versionen schreiben, die zusätzlich auch noch den Namen als Parameter annehmen und in den Strings speichern.

Sowas in der Art?
Delphi-Quellcode:
Type
  TMyImageList = class(TImageList)
    fNames : TStrings;
  public
    { Public-Deklarationen }
    constructor Create(aOwner : TComponent); override;
    destructor Destroy; override;
    property Names : TStrings read fNames;
  end;
  
constructor tMyImageList.Create(aOwner : TComponent);
begin
  inherited;
  fNames := TStringList.Create;
end;

destructor tMyImageList.Destroy;
begin
  fNames.Free;
  inherited;
end;

function tMyImageList.GetImageIndexByName(AName : String) : Integer;
begin
  Result := fNames.IndexOf(AName);
end;

end.

...
IrgendeineKomponenteMit.ImageIndex := ImageList.GetImageIndexByName('NameDesBildes');
Wenn man nicht den ImageIndex haben will, sondern direkt das Bild, dann schreibt man sich noch 'ne Methode GetImageByName, die analog zum ImageIndex halt das Bild liefert.

Der Aufwand dürfte insgesamt garnichtmal so hoch sein.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz