CListCtrl 应用

CListCtrl 应用

标题(带CheckBox的)

.cpp

m_listDtvParent.ModifyStyle(0L,LVS_SHOWSELALWAYS);
DWORD dwStyle = m_listDtvParent.GetExtendedStyle();	
dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
dwStyle |= LVS_EX_CHECKBOXES;
m_listDtvParent.SetExtendedStyle( dwStyle );
m_listDtvParent.InsertColumn(0,_T("序号"),LVCFMT_LEFT,70);
m_listDtvParent.InsertColumn(1,_T("设备ID"),LVCFMT_LEFT,120,0);
m_listDtvParent.InsertColumn(2,_T("设备名称"),LVCFMT_LEFT,120,1);
m_listDtvParent.InsertColumn(3,_T("报警人员/车牌"),LVCFMT_LEFT ,120,2);
m_listDtvParent.InsertColumn(4,_T("报警时间"),LVCFMT_LEFT ,120,2);
m_listDtvParent.InsertColumn(5,_T("处理时间"),LVCFMT_LEFT ,120,2);
m_listDtvParent.InsertColumn(6,_T("已发送"),LVCFMT_LEFT ,120,2);

.hpp

CListCtrl	m_listDtvParent;

加入行数

CString temp;
for( int i = 1; i <= num_alarm; i++)
{
	temp.Format("%d",i);//num_alarm
	m_listDtvParent.InsertItem(i,temp);	
}
添加数据

链表存储

m_listDtvParent.SetItemText(2, 2, _T("小强"));
CheckBox操作监听

.cpp

void CCompareAlarm::OnItemchangedListCompAlarm(NMHDR* pNMHDR, LRESULT* pResult) 
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if((pNMListView->uOldState & INDEXTOSTATEIMAGEMASK(1)) /* old state : unchecked */ 
	&& (pNMListView->uNewState & INDEXTOSTATEIMAGEMASK(2)) /* new state : checked */ 
	) 
{ 
	//TRACE("Item(行) %d subItem(列) %d is checked\n", pNMLV->iItem,pNMLV->iSubItem); 	
	//用序号设置全选
	/**/
//		if( (pNMListView->iItem == 0)&&(pNMListView->iSubItem == 0) )	
//		{
//			for(int i = 0; i < num_alarm; i++)
//				m_listDtvParent.SetCheck(i,TRUE);
//		}

	//目前getcheck 可以直接获取 监听暂时取消
	flag_a[pNMListView->iItem] = TRUE;

}
	if((pNMListView->uOldState & INDEXTOSTATEIMAGEMASK(2)) /* old state : unchecked */ 
	&& (pNMListView->uNewState & INDEXTOSTATEIMAGEMASK(1)) /* new state : checked */ 
	) 
	{ 
//		if( (pNMListView->iItem == 0)&&(pNMListView->iSubItem == 0) )	
//		{
//			for(int i = 0; i < num_alarm; i++)
//				m_listDtvParent.SetCheck(i,FALSE);
//		}
		flag_a[pNMListView->iItem] = FALSE;
	}
*pResult = 0;
}

.hpp

afx_msg void OnItemchangedListCompAlarm(NMHDR* pNMHDR, LRESULT* pResult);
开发环境 VC6.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值