How do you restrict users from using the Esc key?
Take a screwdriver or some other flat, hard object and use it to pry the key out of their keyboard.
If you mean, "How do you prevent them from closing and/or saving a document without using the special action button or other control you provided for that purpose," there are a couple of different ways. Here's one that uses macro language validation to prevent Save without the use of a button: No to [Esc]...force them to use Save Action button.
To do it in LotusScript, define a global variable in the Globals Declaration section of your form (note: not the Form Declarations). Something like this:
Dim okToClose As Integer, okToSave As Integer ' flags to prevent documents being closed or saved without use of a button.In the Queryclose form event, write code such as this:
Sub Queryclose(Source As Notesuidocument, Continue As Variant)And in the button, at the point where you want to close the document:
If okToClose Then
okToClose = False
Msgbox "You must use the Close or Save actions to close this window.", 0, "Close error"
Continue = False
okToClose = TrueTo prevent a save using the Querysave event, the process is exactly similar.
And now that I've told you how to do it, I want to caution you not to do it. Users get very accustomed to using the Esc key and it irritates them to have to do something different unless there is some payoff. I urge you to explore alternatives before using this method.
For instance, if there's some code you have to run every time the document is saved, you can put that code in the Postsave form event. This code executes every time the document is saved thru the UI, whether by means of Esc, Ctrl+S, File -> Save from the menu or a command in your LotusScript or macro code. (However, you must use NotesUIDocument.Save, not NotesDocument.Save, to trigger the event from LotusScript. You should in any case never use NotesDocument.Save on a document you're editing).