The information in this article applies to:
- Professional and Enterprise Editions of Microsoft Visual Basic
for, 32-bit only, Windows, version 4.0
SYMPTOMS
After double-clicking on the RichTextBox, the Click event for other
controls does not fire the next time the left mouse button is pressed.
STATUS
Microsoft has confirmed this to be an issue in the Microsoft products
listed at the beginning of this article. We are researching this
problem and will post new information here in the Microsoft Knowledge
Base as it becomes available.
MORE INFORMATION
Steps to Reproduce Behavior
- Start a new project in Visual Basic. Form1 is created by default. Add
a RichTextBox and a CommandButton to the form. Their names become
RichTextBox1 and Command1 by default.
- Add the following code to the CommandButton's Click event:
Private Sub Command1_Click()
MsgBox "Click Event!"
End Sub
- Run the project. Double-click on the RichTextBox and click once on
the CommandButton. The Click event will not fire on the first click.
After the first click, everything functions normally.
WORKAROUND
- Place the following code in the Declarations portion of the form:
Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Long) As Long
Const MOUSEEVENTF_LEFTUP = &H4
Const WM_LBUTTONUP = &H202
- Place the following code in the DblClick event for the
RichTextBox:
Private Sub RichTextBox1_DblClick()
Dim retval As Long
retval = SendMessage(RichTextBox1.hwnd, WM_LBUTTONUP, 0, 0)
End Sub
|