Ooops....Use MCOL instead of MROW in second BETWEEN....
Also, thsi technique will allow you to selectively skip validation for other buttons, as appropriate.
Here's the amended code.
LOCAL nCancelTop,nCancelHeight,nCancelLeft,nCancelWidth
nCancelTop=THISFORM.cmdCancel.Top
nCancelBottom=nCancelTop+THISFORM.cmdCancel.Height
nCancelLeft=THISFORM.cmdCancel.Left
nCancelRight=nCancelLeft+THISFORM.cmdCancel.Width
IF BETWEEN(MROW("MyForm",3),nCancelTop,nCancelBottom) AND ;
BETWEEN(MCOL("MyForm",3),nCancelLeft,nCancelRight) AND ;
MDOWN()
RETURN .T.
ENDIF
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05