Microsoft KB Archive/160974

= How To Determine If Text in a Text Box Can Be Undone =

Article ID: 160974

Article Last Modified on 7/1/2004

-

APPLIES TO


 * Microsoft Visual Basic 5.0 Learning Edition
 * Microsoft Visual Basic 6.0 Learning Edition
 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 5.0 Enterprise Edition
 * Microsoft Visual Basic 6.0 Enterprise Edition

-



This article was previously published under Q160974



SUMMARY
This article shows, by example, how to determine at any given time if the text entered into a text box can be undone.



MORE INFORMATION
By using the Windows API SendMessage, you can send an EM_CANUNDO message to a TextBox control to determine whether an operation on it can be undone; that is, whether the control can respond to the EM_UNDO message. If the TextBox control can correctly process the EM_UNDO message, the return value from SendMessage is True; otherwise, it is False.

Step-by-Step Example
 Start a new Standard EXE project. Form1 is created by default. Add a TextBox control (Text1) to Form1.  Add the following code to Form1's General Declarations section: Const EM_CANUNDO = &HC6 Private Declare Function SendMessage Lib "User32" Alias _ "SendMessageA" _ (ByVal hWnd As Long, _         ByVal wMsg As Long, _          ByVal wParam As Long, _          ByVal lParam As Long) As Long

Private Sub Form_Load Text1.Text = "" End Sub

Private Sub Form_Click Dim lRet As Long

lRet = SendMessage(Text1.hWnd, EM_CANUNDO, 0&, 0&) Debug.Print lRet End Sub  Press the F5 key to run the program. Type some text into the text box and click Form1. The Debug window displays a value of 1 indicating that the text you just entered can be undone. Note that if no text is typed into the text box and the form is clicked, SendMessagereturns 0 because there is nothing to undo.

Keywords: kbhowto KB160974

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.