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:
parent
40249c6573
commit
b64aa2460e
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue