如何获得BS_AUTORADIOBUTTON的选中/未选中状态?我的代码目前无法正常工作。

void CPngButton::DrawItem( LPDRAWITEMSTRUCT lpDIS )
{
    ASSERT(lpDIS != NULL);

    UINT state = lpDIS->itemState;
    if (state & ODS_CHECKED)
    {
    // do stuff
    }
}

我也尝试过
if (BST_CHECKED == SendMessage(BM_GETCHECK))

但这也不起作用。

最佳答案

ODS_CHECKED仅适用于菜单。 BM_GETCHECK和BM_GETSTATE都可以提供检查状态:

if (Button_GetState(lpDIS->hwndItem) & BST_CHECKED)

09-07 04:26