John,
Your life might be easier if you look at the GetFldState() function.
>I have stored the value of this to a custom property on my form which I then compare, using;
>
>if thisform.surrounded==this
>
>basically checking that the original value is either the same or not.
>This code I should add is in the mousemove event of my controls.