PRB: Pressing ESC Key Clears Contents of Text Box in a Toolbar (131301)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0

This article was previously published under Q131301

SYMPTOMS

Pressing the ESC key before pressing the ENTER key when the insertion point is in a text box, clears the content of the text box. However, doing the same thing in a combo box does not produce the same behavior.

CAUSE

The ESC key is seen as a cancel operation for a text box object. In the combo box object, the ESC key is a terminator for the drop-down list only.

WORKAROUND

In the text box object, it is possible to use the Keypress event to trap for the ESC key. If the ESC key is pressed, a dialog box prompting the user to save the data can be displayed. Please see the "Step-by-Step Example" section of this article.

STATUS

This behavior is by design.

MORE INFORMATION

The following example creates a form with a text box, and traps for the ESC key in the text box. When the escape key is pressed, a dialog is displayed, and if the user answers No, the data is not cleared from the text box.

Step-by-Step Example

  1. Create a form.
  2. Place a text box on the form.
  3. Place the following code in the Keypress event handler:
       * Visual FoxPro Header file. This file contains named constants for many
       * Visual FoxPro functions
       #INCLUDE "FOXPRO.H"
       IF nkeycode = 27  && The escape key is pressed.
          nresponse=MESSAGEBOX("Do you want to Cancel?",  MB_YESNO)
          IF nresponse=IDNO
            NODEFAULT
          ENDIF
       ENDIF
    						
  4. Save and run the form. When the form displays, type something in the text box. Then press the ESC key.

Modification Type:MajorLast Reviewed:2/15/2000
Keywords:kbcode KB131301