MFC中CListCtrl添加复选框,实现单选

Posted 赤龙绕月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中CListCtrl添加复选框,实现单选相关的知识,希望对你有一定的参考价值。

记录MFC项目中CListCtrl添加复选框,实现单选步骤

添加复选框

绑定控件变量

CListCtrl m_ctrList;

OnInitDialog函数中添加

m_ctrList.SetExtendedStyle(LVS_EX_CHECKBOXES);	

单选

CListCtrl 添加事件处理程序LVN_ITEMCHANGED

int m_nPreSel = -1;	//记录上次多选框为选中状态的项

void CxxDialog::OnLvnItemchangedListSeltab(NMHDR *pNMHDR, LRESULT *pResult)

	LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	
	if (pNMLV->uNewState==0x2000&&pNMLV->uOldState==0x1000)	//复选框选中状态
	
		if (m_nPreSel!=-1&&m_nPreSel!=pNMLV->iItem)
		
			m_ctrListSelTab.SetCheck(m_nPreSel,FALSE);	//设置上次选中状态复选框为未选中状态
		

		m_nPreSel = pNMLV->iItem;
	

	*pResult = 0;

以上是关于MFC中CListCtrl添加复选框,实现单选的主要内容,如果未能解决你的问题,请参考以下文章

MFC中如何向列表控件中嵌入单选按钮radio控件

MFC - 带有可选复选框的 CListCtrl 行

Visual Studio MFC CListCtrl 复选框 - 空格键

有没有办法覆盖当用户单击 CListCtrl 中的复选框时调用的处理程序? (MFC)

MFC-CListCtrl-SetCheck设置复选框的状态

MFC的单选按钮、复选框问题