Like the AUTORADIOBUTTON, the parent of a RADIOBUTTON style button

should be sent a BN_CLICKED when it receives the focus.
This commit is contained in:
Susan Farley 2000-05-12 21:51:09 +00:00 committed by Alexandre Julliard
parent 40249c6573
commit b64aa2460e
1 changed files with 3 additions and 2 deletions

View File

@ -236,12 +236,13 @@ static inline LRESULT WINAPI ButtonWndProc_locked(WND* wndPtr, UINT uMsg,
return infoPtr->hFont; return infoPtr->hFont;
case WM_SETFOCUS: case WM_SETFOCUS:
if ((style == BS_AUTORADIOBUTTON) && (GetCapture() != hWnd) && if ((style == BS_RADIOBUTTON || style == BS_AUTORADIOBUTTON) && (GetCapture() != hWnd) &&
!(SendMessageA(hWnd, BM_GETCHECK, 0, 0) & BST_CHECKED)) !(SendMessageA(hWnd, BM_GETCHECK, 0, 0) & BST_CHECKED))
{ {
/* The notification is sent when the button (BS_AUTORADIOBUTTON) /* The notification is sent when the button (BS_AUTORADIOBUTTON)
is unckecked and the focus was not given by a mouse click. */ is unckecked and the focus was not given by a mouse click. */
SendMessageA( hWnd, BM_SETCHECK, TRUE, 0 ); if (style == BS_AUTORADIOBUTTON)
SendMessageA( hWnd, BM_SETCHECK, BUTTON_CHECKED, 0 );
SendMessageA( GetParent(hWnd), WM_COMMAND, SendMessageA( GetParent(hWnd), WM_COMMAND,
MAKEWPARAM( wndPtr->wIDmenu, BN_CLICKED ), hWnd); MAKEWPARAM( wndPtr->wIDmenu, BN_CLICKED ), hWnd);
} }