//////////////////////////////////////////////////////////////////////////////////////////?
這樣可以選中呀
int nItem = -1;
?nItem = m_listApp.GetNextItem(nItem, LVNI_SELECTED);
?m_listApp.DeleteItem(nItem);
////////////////////////////////////////////////////////////////////////////////////////////
1。彈出方式菜單
// The code fragment shows how to get the File menu from the
// application window and displays it as a floating popup menu
// when the right mouse button is clicked in view.
// CMyView is a CView-derived class.
void CMyView::OnRButtonDown(UINT nFlags, CPoint point)
{
??CView::OnRButtonDown(nFlags, point);
??CMenu* menu_bar = AfxGetMainWnd()->GetMenu();
??CMenu* file_menu = menu_bar->GetSubMenu(0);
??ASSERT(file_menu);
??file_menu->TrackPopupMenu(TPM_LEFTALIGN |TPM_RIGHTBUTTON, point.x,
????point.y, this);
}
2。圖標設置
BOOL CListCtrlDemoDlg::InitImageList()
{
?// Create 256 color image lists
?HIMAGELIST hList = ImageList_Create(32,32, ILC_COLOR8 |ILC_MASK , 8, 1);
?m_cImageListNormal.Attach(hList);
?hList = ImageList_Create(16, 16, ILC_COLOR8 | ILC_MASK, 8, 1);
?m_cImageListSmall.Attach(hList);
?
?// Load the large icons
?CBitmap cBmp;
?
?cBmp.LoadBitmap(IDB_IMAGES_NORMAL);
?m_cImageListNormal.Add(&cBmp, RGB(255,0, 255));
?cBmp.DeleteObject();
?
?// Load the small icons
?cBmp.LoadBitmap(IDB_IMAGES_SMALL);
?m_cImageListSmall.Add(&cBmp, RGB(255,0, 255));
?
?// Attach them
?m_cListCtrl.SetImageList(&m_cImageListNormal, LVSIL_NORMAL);
?m_cListCtrl.SetImageList(&m_cImageListSmall, LVSIL_SMALL);
?
?return TRUE;
}
3。插入圖標
/////////////////////////////////////////////////////////////////////////////
void CListCtrlDemoDlg::InsertItems()
{
?//刪除所有的當前條目內容
?m_cListCtrl.DeleteAllItems();
?
?//用LV_ITEM結構指向要插入的條目
?LVITEM lvi;
?CString strItem;
?for (int i = 0; i < m_nItems; i++)
?{
??// Insert the first item
??lvi.mask =? LVIF_IMAGE | LVIF_TEXT;
??strItem.Format(_T("Item %d"), i);
?
??lvi.iItem = i;
?
??lvi.iSubItem = 0;
??lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
??lvi.iImage = i%8;??// There are 8 images in the image list
??m_cListCtrl.InsertItem(&lvi);
?
??// Set subitem 1
??strItem.Format(_T("%d"), 10*i);
??lvi.iSubItem =1;
??lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
??m_cListCtrl.SetItem(&lvi);
?
??// Set subitem 2
??strItem.Format(_T("%s"), COleDateTime::GetCurrentTime().Format(_T("Created: %I:%M:%S %p, %m/%d/%Y")));
??lvi.iSubItem =4;
??lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
??m_cListCtrl.SetItem(&lvi);
?
?}
}
4。刪除條目
void CMmDlg::OnDelete()
{
?int i,iState;
?int nItemSelected=m_mm_host_ListCtrl.GetSelectedCount();//得到所選表項數
?int nItemCount=m_mm_host_ListCtrl.GetItemCount();//得到表項總數
?if(nItemSelected<1)//如果沒有選中行,退出
??return;
?for(i=nItemCount-1;i>=0;i--)
?{
??iState=m_mm_host_ListCtrl.GetItemState(i,LVIS_SELECTED);
??if(iState!=0)
???m_mm_host_ListCtrl.DeleteItem(i);
?}
}
5。擊活條目
void CMmDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
?// TODO: Add your control notification handler code here
?int nItem = -1;
?
?LPNMITEMACTIVATE lpNMItemActivate = (LPNMITEMACTIVATE)pNMHDR;
?if(lpNMItemActivate != NULL)
?{
??nItem = lpNMItemActivate->iItem;
?}
?//CString str;
?//str.Format("%d",nItem);
?//MessageBox(str);
?*pResult = 0;
}