How about adding a textColourId to the ListBox::ColourIds and replacing
g.setColour (Colours::black.withAlpha (enabled ? 1.0f : 0.6f));
g.setColour(findColour(textColourId, true).withAlpha (enabled ? 1.0f : 0.6f));
I’m asking this because the application I’m working on has a special lookandfeel that overrides various background colourIds (including ListBox::backgroundColourId) to black.
And black on black text doesn’t look too good in the AudioDeviceSelector