Hi John Z, correct you will need to invert the cursor color and called SetCursor(...) for the darkmode conditional. I do this on [X] close icons on custom drawn elements in my controls.
I havent implemented this into the main application yet, as demo is still in project folder elsewhere. I set it and left it.
Since that time, I have figured out how to completely darken/customize TabControl, TreeView, etc.
You can see here it is easily possible to draw rows and states in TreeView (took me an hour). Also, customizing dark windows is also very easy as this example shows a splash tutorial on a one-time timer.
^ This is just a BMP within a dialog window. But there is a lot of control logic for the window, drag event, close/mouseover, capture handling, etc. It works perfectly fine. Close button turns red with WM_MOUSEMOVE etc (native button control).
This all combined, can produce a much better dark mode experience - along with the tab drawing.
IntroDialog.zip will get you started with the splash feature.