ListCtrl表格的用法

BOOL CScale3DCTempTableDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// TODO:  在此添加额外的初始化
	m_listTempTable.InsertColumn(0, _T("磅单流水号"), LVCFMT_CENTER, 100);
	m_listTempTable.InsertColumn(1, _T("车号"), LVCFMT_CENTER, 100);
	m_listTempTable.InsertColumn(2, _T("发货单位"), LVCFMT_CENTER, 100);

	LONG lStyle;
	lStyle = GetWindowLong(m_listTempTable.m_hWnd, GWL_STYLE);
	// lStyle &= ~LVS_TYPEMASK;//清除显示方式位
	lStyle |= LVS_REPORT;//设置为报告风格
	SetWindowLong(m_listTempTable.m_hWnd, GWL_STYLE, lStyle);
	
	//设置扩展风格,整行选择,网格线,前面有检查框
	//m_listTempTable.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|
	                                   LVS_EX_CHECKBOXES);
	DWORD dwStyle = m_listTempTable.GetExtendedStyle();
	dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)
	dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
	dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件
	m_listTempTable.SetExtendedStyle(dwStyle); //设置扩展

	return TRUE;  
}

按行写入数据

创新互联公司主要从事成都做网站、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务南湖,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

m_listTempTable.InsertItem(0, _T("20180516-000001"));
m_listTempTable.SetItemText(0, 1, _T("浙B62917"));
m_listTempTable.SetItemText(0, 2, _T("大米公司"));
m_listTempTable.SetItemText(0, 3, _T("大理段氏"));

右键菜单

void CScale3DCTempTableDlg::OnNMRClickListTable(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	POINT pt;
	GetCursorPos(&pt);
	int x = m_listTempTable.GetSelectionMark();
	TRACE(_T("%d\n"), x);

	CMenu menu;
	menu.LoadMenu(IDR_MENU_TEMP_TABLE);
	CMenu * pPopup = menu.GetSubMenu(0);
	ScreenToClient(&pt);

   CRect rt;
   this->GetWindowRect(rt);

	pPopup->TrackPopupMenu(TPM_RIGHTBUTTON| TPM_RIGHTBUTTON, 
	        pt.x+rt.left,rt.top+ pt.y, this);
	*pResult = 0;
}

当前题目:ListCtrl表格的用法
本文URL:http://scyanting.com/article/gicjdd.html