https://bugs.winehq.org/show_bug.cgi?id=57521
--- Comment #10 from Stefan Dösinger stefan@codeweavers.com --- Created attachment 77724 --> https://bugs.winehq.org/attachment.cgi?id=77724 Make uxtheme set the text color
This change to uxtheme allows me to change the colors of the static labels without breaking winecfg's custom WM_CTLCOLORSTATIC handling in the about dialog.
However, on IRC you said
eh, UXTHEME_DefDlgProc() shouldn't touch text color though.
Why do you think it shouldn't touch the color? As far as I can see the equivalent code in default_window_proc in win32u/defwnd.c does set the text color (line 2339 in the current git code):
NtGdiGetAndSetDCDword( hdc, NtGdiSetTextColor, get_sys_color( COLOR_WINDOWTEXT ), NULL );
And indeed, making UXTHEME_DefDlgProc call DefWindowProcW(), which is does if theming is disabled, does apply COLOR_WINDOWTEXT color to static controls.
I'd find it odd if pretty much every control text can be changed, but not static controls. If this is guarded by a light-or-dark-theme switch that would realistically either make them black or white with no way to customize them.