If you have a list control in your dialog with the
LVS_EX_CHECKBOXES style, you can make the check boxes to act like
radiobuttons by adding two lines of code.. First map the
LVN_ITEMCHANGED event of the list control from the class wizard
and add the code shown
void CListDlg::OnItemchangedMylist(NMHDR* pNMHDR, LRESULT* pResult)
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
/* If the event is not fired because of any change in individual items then the oldstate and
newstate members of pNMListView are not used. So check for that.*/
if (!pNMListView->uOldState && !pNMListView->uNewState)
// m_listctl is the member variable of the dialog which is of type CListCtl.
BOOL bChecked = ListView_GetCheckState(m_listctl.m_hWnd, pNMListView->iItem);
// if it’s checked uncheck everything else.
if(nCount != pNMListView->iItem)
Date Last Update: February 1, 1999