Ich verwende PngImageList und für jeden Style den ich verwende, registriere ich für jede ImageList eine passende Version (meist reicht es Grafiken für "helle" und für "dunkle" Themes zu haben). Wenn ich zukünftig unterschiedliche Auflösungen berücksichtigen möchte könnte natürlich deine Lösung verwenden, aber die Idee, das die Liste selbst auch einen "umschaltbaren" Style bietet finde ich gerade sehr attraktiv.
Leider ist die Entscheidung nach Hell oder Dunkel bei den Styles nicht eindeutig zu treffen und hängt entscheidend von den in den Icons verwendeten Farben ab. Meine Idee ist eher, einen einfachen Mechanismus zu schaffen, die aktuell verwendete ImageList
dynamisch umzuschalten. Das kann die Größe betreffen, unabhängig vom aktuellen DPI Wert (große oder kleine Toolbar Buttons), aber eben auch die Kompatibilität mit dem aktuellen Style.
Ich habe mal einen Zwischenstand angehängt. Die im Beispiel gezeigte Umschaltung der Icon-Größe sollte auch für ein Austauschen der Icons bei Style-Wechsel gehen.
Bei TVirtualImageList würde man einfach die ImageCollection wechseln, aber das habe ich noch nicht ausprobiert.