Article: Q161872
Product(s): Microsoft C Compiler
Version(s): 4.20
Operating System(s):
Keyword(s): kbVC kbBug kbfix kbISSkbbuglist kbfixlist
Last Modified: 31-JUL-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual C++, 32-bit Enterprise Edition, version 4.2
- Microsoft Visual C++, 32-bit Professional Edition, version 4.2
-------------------------------------------------------------------------------
SYMPTOMS
========
If you create an ActiveX control that subclasses a button, you may find that the
control doesn't fire a "click" event. You can observe this behavior by running
the BUTTON sample included with Visual C++ 4.2.
CAUSE
=====
There is a bug in the COleControl::OnLButtonUp() function. CWnd::OnLButtonUp()
should be called within the function before calling COleControl::ButtonUp().
RESOLUTION
==========
You can work around the problem by trapping the WM_LBUTTONUP message in your
control. Copy the code from the OnLButtonUp() function located in
\MSDEV\MFC\SRC\CTLEVENT.CPP and place it into your new handler. Move the call to
CWnd::OnLButtonUp() before the call to ButtonUp() so that the new function looks
like the following:
void CYourButtonCtrl::OnLButtonUp(UINT nFlags, CPoint point)
{
HWND hWndSave = m_hWnd;
CWnd::OnLButtonUp(nFlags, point); // moved the call here
ButtonUp(LEFT_BUTTON, nFlags, point);
if (m_hWnd != hWndSave)
return;
if (m_bInPlaceActive && !m_bUIActive && m_bPendingUIActivation &&
(GetFocus() == this || IsChild(GetFocus())))
{
m_bPendingUIActivation = FALSE;
OnActivateInPlace(TRUE, NULL);
}
}
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article. This bug was corrected in Visual C++ version 4.2b.
REFERENCES
==========
For more information about Visual C++ 4.2b, please see the following article in
the Microsoft Knowledge Base:
Q156934 PATCH: Visual C++ 4.2b Patch
Additional query words: 4.20 kbdsd FIXLIST4.20b
======================================================================
Keywords : kbVC kbBug kbfix kbISS kbbuglist kbfixlist
Technology : kbVCsearch kbAudDeveloper kbVC420 kbVC32bitSearch
Version : 4.20
Solution Type : kbfix
=============================================================================