*!* cmdOK.Click method *!* Need to set CancelError so that the control will generate an error. *!* Otherwise, you cannot know if Cancel was clicked. thisform.oleCommonDialog.CancelError = .T. rv = thisform.oleCommonDialog.ShowPrinter() if thisform.printcancel thisform.printcancel = .F. return endif *!* do reporting here *!* cmdOK.Error method LPARAMETERS nError, cMethod, nLine if nError = 1429 && going to assume this meant Cancel was clicked on Print Dialog thisform.printcancel = .T. endifI still wish there was a more elegant way of trapping for the "Cancel" button. Oh well, this will do JUST FINE! Thanks again