This issue addresses the lack of dark mode support in TaskDialog-based components when wxApp::MSWEnableDarkMode() is enabled. Currently, the following dialogs appear with light backgrounds even when the application is in dark mode:
This is a documented limitation (see MSWEnableDarkMode documentation) because Windows doesn't natively provide dark TaskDialogs.
I have developed a working solution that successfully enables dark mode for all TaskDialog-based dialogs on Windows. The implementation:
https://github.com/user-attachments/assets/91d3117f-c5b8-4f0a-a78c-d87dc15e880e
https://github.com/user-attachments/assets/c01e5e34-6e32-48b3-a7ce-3d191d4d51d8
✅ Windows 11 (all recent builds)
✅ Windows 10 (versions 1809 through 22H2)
✅ All TaskDialog-based wxWidgets components
✅ Light/Dark system theme switching
✅ Backward compatibility with non-dark mode apps
I have a working implementation ready and can prepare a PR if the team agrees this enhancement would be valuable. The code is:
This would resolve the previously closed issue #24973 by providing a practical solution that maintains native dialog behavior while adding dark mode support.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Hi @vadz, @PBfordev, @MaartenBent, @EinTim23, @@MaartenBent, @ismail , @@RobertRoeb
I've been working on a related dark mode issue: enabling dark mode for native TaskDialogs (wxMessageDialog, wxRichMessageDialog, wxProgressDialog, wxAboutBox) on Windows.
This has been a documented limitation—even when wxApp::MSWEnableDarkMode() is used, TaskDialog-based components still appear with light backgrounds because Windows doesn't natively provide dark TaskDialogs. However, I've developed a working solution that successfully enables dark mode for all these dialogs on both Windows 10 and Windows 11.
What I've got working:
✅ Dark mode for all TaskDialog-based wxWidgets components
✅ Tested on Windows 10 (1809 through 22H2) and Windows 11 (all recent builds)
✅ Preserves all native dialog functionality
✅ Graceful fallback when dark mode can't be applied
✅ Opt-in design (only affects apps that explicitly enable dark mode)
Questions for the group:
Would this enhancement be valuable for the project?
Since this PR (#26182) already touches dark mode infrastructure, should TaskDialog dark mode follow similar patterns
Any concerns about compatibility or approach I should consider?
I have the implementation ready and can prepare a PR if there's interest. Looking forward to hearing your thoughts!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
PRs fixing this would definitely be welcome, of course! Looking forward to seeing how did you manage to make this working. TIA!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Very welcome
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()