]> git.saurik.com Git - wxWidgets.git/commitdiff
Only send two EVT_BUTTON events when double clicking a button, not three
authorRobin Dunn <robin@alldunn.com>
Fri, 21 Feb 2003 20:27:56 +0000 (20:27 +0000)
committerRobin Dunn <robin@alldunn.com>
Fri, 21 Feb 2003 20:27:56 +0000 (20:27 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/button.cpp

index 6f5cb6782d5ad6f2c9c06a14e12fd064b1f8fa0b..81c588c5beb5c7bc753c6398e2686fca52847ecb 100644 (file)
@@ -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;
     }