Correct the behaviour of the accelerator keys in dialogs according to
the Windows' one.

diff --git a/controls/button.c b/controls/button.c
index 7d9097b..fb958e5 100644
--- a/controls/button.c
+++ b/controls/button.c
@@ -265,6 +265,11 @@
         PAINT_BUTTON( wndPtr, style, ODA_DRAWENTIRE );
         break;
 
+    case BM_CLICK:
+	SendMessageA( hWnd, WM_LBUTTONDOWN, 0, 0 );
+	SendMessageA( hWnd, WM_LBUTTONUP, 0, 0 );
+	break;
+
     case BM_SETIMAGE:
 	oldHbitmap = infoPtr->hImage;
 	if ((wndPtr->dwStyle & BS_BITMAP) || (wndPtr->dwStyle & BS_ICON))
diff --git a/windows/dialog.c b/windows/dialog.c
index 3e1a02e..3d9b73d 100644
--- a/windows/dialog.c
+++ b/windows/dialog.c
@@ -1174,10 +1174,8 @@
                         }
                         else if (dlgCode & DLGC_BUTTON)
                         {
-                            /* send command message as from the control */
-                            SendMessageA( hwndDlg, WM_COMMAND, 
-                                MAKEWPARAM( LOWORD(wndPtr->wIDmenu), BN_CLICKED ),
-                                (LPARAM)hwndControl );
+                            /* send BM_CLICK message to the control */
+                            SendMessageA( hwndControl, BM_CLICK, 0, 0 );
                         }
 
                         RetVal = TRUE;