From 6c8a9c72086f0477672f21be39df59ab288ab3b4 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 21 Feb 2003 20:27:56 +0000 Subject: [PATCH] Only send two EVT_BUTTON events when double clicking a button, not three git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@19277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/button.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/msw/button.cpp b/src/msw/button.cpp index 6f5cb6782d..81c588c5be 100644 --- a/src/msw/button.cpp +++ b/src/msw/button.cpp @@ -352,9 +352,18 @@ bool wxButton::MSWCommand(WXUINT param, WXWORD WXUNUSED(id)) bool processed = FALSE; switch ( param ) { + // NOTE: Apparently older versions (NT 4?) of the common controls send + // BN_DOUBLECLICKED but not a second BN_CLICKED for owner-drawn + // buttons, so in order to send two EVET_BUTTON events we should + // catch both types. Currently (Feb 2003) up-to-date versions of + // win98, win2k and winXP all send two BN_CLICKED messages for + // all button types, so we don't catch BN_DOUBLECLICKED anymore + // in order to not get 3 EVT_BUTTON events. If this is a problem + // then we need to figure out which version of the comctl32 changed + // this behaviour and test for it. + case 1: // message came from an accelerator case BN_CLICKED: // normal buttons send this - case BN_DOUBLECLICKED: // owner-drawn ones also send this processed = SendClickEvent(); break; }