I'm trying to change the color of the border of a text box in NSIS. This changes the background of the text box and of the font:
SetCtlColors $varPageUserDetails.TextBoxEmail 0x48ffd5 0x0e2a47
This has no effect on the border of the text box (I tried lot's of options):
${NSD_AddExStyle} $varPageUserDetails.TextBoxEmail ${WS_EX_CLIENTEDGE}|${WS_EX_TRANSPARENT}
I tried Resource Hacker but didn't find any option to change the border color.
Is my only option is to write a windows application and use ChangeUI?
You generally can't change the border color of standard Windows controls. You can remove the border by not having WS_BORDER nor WS_EX_*EDGE.
ChangeUI cannot help you here, you would have to write a custom plug-in that subclasses the controls and draws the non-client area with your custom color.
There are some skinning plug-ins on the NSIS wiki you could also take a look at...