When you use a dialog box with OKCancel buttons set to false to use your own design buttons, you will be closing the window after finshing your purpose and you may want to update the parent document by using one of:
2. Call uidoc.RefreshParentNote.
In this case, if the user presses the <Enter> key after finshing, then the dialog will close without updating as if pressed <Esc> key. Knowingly that using (uidoc.Dialogboxcanceled) property is not useful because closing window in all cases is done as if the Cancel button is pressed.
Working around this point you can put an environment variable or a value for an Item on the document to use it in Queryclose to prevent closing the dialog only after pressing a button on the dialog.
The dialog has one button for Save and other one for Cancel
In Cancel key put the following:
Environment Cancel := "1"
And in Save button the following:
Environment Save := "1"
In Queryclose of the dialog form put:
dim s as new notessession
If s.GetEnvironmentString("Cancel") = "" And _ s.GetEnvironmentString("Save") = "" then
MsgBox "Please click 'Save' or 'Cancel' button", 16, "Close"
Continue = False
' reset the environment vars
call s.SetEnvironmentVar("Cancel", "")
call s.SetEnvironmentVar("Save", "") ' or you reset this var in the originated script according to the purpose
'here also you update other things you want or just to finish according to the dialog purposes.
This was first published in November 2000