Here's a patch which adds a SCI_CALLTIPSETFOREBORDER message to set the two colours used for the border of call tips.
Without this message call tips aren't really usable in a dark mode container because the bottom and right border colours are hardcoded to be black, making the border invisible or barely visible.
Additionally containers on Windows which use SC_AUTOCOMPLETE_FIXED_SIZE can use this message to give call tips a border which is consistent with the autocomplete border by setting both colors to Windows color COLOR_WINDOWFRAME.
The patch includes updates of Scintilla.iface and ScintillaDoc.html.
https://patch-diff.githubusercontent.com/raw/jrsoftware/scintilla/pull/9.diff
https://patch-diff.githubusercontent.com/raw/jrsoftware/scintilla/pull/9.patch
https://github.com/jrsoftware/scintilla/pull/9/files
These could be implemented as element colours.
Ok, thanks. I guess that means the updated patch should add element colours for the other calltip colors as well?
Just concentrate on the border for now. Scope creep is the major cause of enhancement failure.
Its likely worth checking the current Windows UI guidelines (unsure where they are now) to see what is recommended for tips. I expect conformance to the Windows-11 look would de-emphasize the border and use a 3D shadow.
I've looked at implementing it as an element colour but am unsure how to do this properly.
It would be best to study one of the autocompletion elements as an exemplar such as
Element::ListBack. This is an opaque colour like the calltip borders and picks up system setting colours.However, the 3D border appearance used for calltips currently may appear old-fashioned. The nearest design I could find in the current UI guidelines is for tooltips which are mostly indicated by a shadow and have a soft border.
https://learn.microsoft.com/en-us/windows/apps/design/controls/tooltips
Maybe the appearance used by Visual Studio would match user expectations closer.