this.BorderColor = 255 return dodefault()In the Valid():
* since Valid() fires during mouse clicks * only change the color if the mouse is down over the top * of another control if ( ! ( mdown() and ( sys( 1272, this ) $ sys( 1272, sys( 1270 ) ) ) ) ) this.BorderColor = 0 endif return dodefault()Then in each OptionButton.LostFocus() you need:
this.parent.Valid() return dodefault()If you want to do this globally for all your opg controls it's a real annoying to copy that LostFocus() code everywhere. Since you can't visually subclass the OptionButton class itself you can use code in your opg.Init() that can switch out the buttons with your own .prg based subclass buttons. I know that I've posted the code required to do this here in the past, but I can't easily search for it right now.