cnjinhao / nana

a modern C++ GUI library
https://nana.acemind.cn
Boost Software License 1.0
2.32k stars 333 forks source link

Needed: ability to change tooltip and scrollbar colors, listbox custom renderer #663

Open ErrorFlynn opened 2 years ago

ErrorFlynn commented 2 years ago

The library does a good job to provide a mechanism for customizing widget appearance, with the various custom renderers, and the scheme object that each widget has.

Unfortunately, that's currently incomplete due to a few omissions. Most importantly, there's no way to change the colors of tooltips and scrollbars. I have created an interface that responds to the system color theme (dark/light), and I was forced to use an ugly hack in scroll.cpp to make scrollbars use dark or light colors, depending on the parent's bgcolor. And I gave up trying to change to colors of tooltips. The library should provide a mechanism for changing scrollbar and tooltip colors (maybe a global scheme object for each, for example).

Also, another issue is the lack of a custom renderer for the listbox. My interface uses a custom renderer for comboxes in dark mode, but I can't do that for listboxes, which results in an inconsistent look (I had to use an ugly hack in listbox.cpp as a workaround).