I want to change the appearance of some controls.
Is it possible to change the color of the FocusRing ?
Users may be able to set it in System Preferences with the Highlight Color setting, but I’m not sure you can.
Place the control on top of a canvas, leaving 2 pixels margin on each side. Then in the GotFocus event set a
focused as boolean
flag which you set in GotFocus and LostFocus, then invalidate the canvas.
In the Paint event of the canvas simply DrawRect the color you want when focused is true.
Make sure not to set Use Focus Ring as on in the Inspector, otherwise the default blue focus ring would ruin your custom effect.
I would expect that to flicker horribly on Windows.
Not certain. The alternative is to place 4 2 pixel wide or high canvases around the control, so they are not stacked.
Another way is to paint in the window backdrop. Get the position and size of the control with Window.Control() and paint around it.