Peter,
On the Cancel button set it's Cancel property = .t. and then at the top of your valid code:
if ( lastkey() = 27 )
return .t.
endif
>I need to know what was clicked (or typed) in an event so that when a client hits the CANCEL button on a form, my standard input validation routines can be skipped and the CANCEL processed.
>
>Also... if I just skip that part of the valid code with a if then or something, will the code for the CANCEL fire immediately following?