1、定义控件控制变量 m_ListViewRemind 文本框变量 m_EditRemind
2、设置行高
CImageList m_l;
m_l.Create(1, 28, TRUE | ILC_COLOR32, 1, 0);//s设置行高
m_ListViewRemind.SetImageList(&m_l, LVSIL_SMALL);
3、插入列项值显示
m_ListViewRemind.InsertColumn(0, _T("基材批次号"), LVCFMT_CENTER, 90);
m_ListViewRemind.InsertItem(0, "");
4、m_ListViewRemind.DeleteAllItems();//清空所有数据
5、清空表头数据
CHeaderCtrl* pHeaderCtrl = m_ListViewRemind.GetHeaderCtrl();
if (pHeaderCtrl != NULL)
{
int nColumnCount = pHeaderCtrl->GetItemCount();
for (int i = 0; i < nColumnCount; i++)
{
m_ListViewRemind.DeleteColumn(0);//清空表头;
}
}
6、获取整列长度
CRect rect;
m_ListViewRemind.GetClientRect(&rect);
int iLength = rect.Width();
7、插入对应的列及宽度 iEachWidth为宽度值
m_ListViewRemind.InsertColumn(0, _T("基材批次号"), LVCFMT_CENTER, iEachWidth*1.2);
m_ListViewRemind.InsertColumn(1, _T("品种名"), LVCFMT_CENTER, iEachWidth);
m_ListViewRemind.SetExtendedStyle(m_ListViewRemind.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
8、单击事件处理函数
void BRCheckRemind::OnSingleClkListViewRemind(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
// TODO: 在此添加控件通知处理程序代码
CRect rc;
CString strTemp;
NM_LISTVIEW *pNMListView = (NM_LISTVIEW *)pNMHDR;
m_Row = pNMListView->iItem;
m_Col = pNMListView->iSubItem;
// if (pNMListView->iItem == -1) //选择空白处,添加一行,并设置焦点为最后一行,第二列
// {
// //m_Row = m_ListViewRemind.GetItemCount();
// //strTemp.Format(_T("%d"), m_Row + 1);
// //m_ListViewRemind.InsertItem(m_Row, strTemp);
m_ListViewRemind.SetItemText(0, 1, "1");
m_ListViewRemind.SetItemState(m_Row, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
m_ListViewRemind.EnsureVisible(m_Row, FALSE);
// }
if (m_Col != 1) // 选择子项
{
m_ListViewRemind.GetSubItemRect(m_Row, m_Col, LVIR_LABEL, rc);
m_EditRemind.SetParent(&m_ListViewRemind);
m_EditRemind.MoveWindow(rc);
m_EditRemind.SetWindowTextA(m_ListViewRemind.GetItemText(m_Row, m_Col));
m_EditRemind.ShowWindow(SW_SHOW);
m_EditRemind.SetFocus();//设置Edit焦点
m_EditRemind.ShowCaret();//显示光标
m_EditRemind.SetSel(0, -1);//全选
}
*pResult = 0;
}