MFC ListControl控件的操作


////獲取表格控件指針、設置樣式
CListCtrl* lst = (CListCtrl*)GetDlgItem(IDC_LSTCTl);
lst->ModifyStyle( 0, LVS_REPORT );               // 報表模式  
lst->SetExtendedStyle(lst->GetExtendedStyle() 
| LVS_EX_GRIDLINES 
| LVS_EX_FULLROWSELECT);  


lst->InsertColumn(0,_T("第一列"));  
lst->InsertColumn(1,_T("第二列"));  


//////設置列


CRect rect;
lst->GetClientRect(rect); //獲得當前客戶區信息
lst->SetColumnWidth(0, rect.Width() / 2); //設置列的寬度。  
lst->SetColumnWidth(1, rect.Width() / 2);  




/////插入幾行


lst->InsertItem(0, _T("1.1"));  
lst->SetItemText(0, 1, _T("2.1"));  


lst->InsertItem(1, _T("1.2"));  
lst->SetItemText(1, 1, _T("2.2"));  


lst->InsertItem(2, _T("1.3"));  
lst->SetItemText(2, 1, _T("2.3"));  


/////刪除


lst->DeleteItem(1);


////遍歷,取第一列的數據


CString str("");
int lineCount = lst->GetItemCount();
int i = 0;
for(i = 0;i < lineCount;i ++){
str.Append(lst->GetItemText(i,0) + _T(" , "));
}

AfxMessageBox(str);

 

=======================

 

設置樣式

DWORD SetExtendedStyle(


  DWORD dwNewStyle );


  函數功能設置CListCtrl的擴展樣式


  dwNewStyle指定的擴展樣式


  LVS_EX_GRIDLINES //繪制表格


  LVS_EX_SUBITEMIMAGES


  LVS_EX_CHECKBOXES //帶復選框


  LVS_EX_TRACKSELECT //自動換行


  LVS_EX_HEADERDRAGDROP


  LVS_EX_FULLROWSELECT //選擇整行


  LVS_EX_ONECLICKACTIVATE//單擊激活


  LVS_EX_TWOCLICKACTIVATE//雙擊激活


  LVS_EX_FLATSB//扁平滾動條


  LVS_EX_REGIONAL


  LVS_EX_INFOTIP


  LVS_EX_UNDERLINEHOT


  LVS_EX_UNDERLINECOLD


  LVS_EX_MULTIWORKAREAS//多工作區


例子:


BOOL COnlineDlg::OnInitDialog() 
{
CDialog::OnInitDialog();


m_OnlineList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT); 


m_OnlineList.InsertColumn(0,"IP地址",NULL,130,-1);
m_OnlineList.InsertColumn(1,"語言/區域",LVCFMT_CENTER,80,-1);
m_OnlineList.InsertColumn(2,"計算機名稱",NULL,120,-1);
m_OnlineList.InsertColumn(3,"系統類型",NULL,100,-1);
m_OnlineList.InsertColumn(4,"內存(MB)",NULL,80,1);
m_OnlineList.InsertColumn(5,"CPU大小(MHz)",NULL,80,1);
m_OnlineList.InsertColumn(6,"軟件版本",NULL,80,1); 
m_OnlineList.InsertColumn(7,"狀態",NULL,300,-1);
m_ImageOnlinelist.Create(16,16,ILC_COLOR32|ILC_MASK,2,2);
HICON hIcon0 = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON_PC));
m_ImageOnlinelist.Add(hIcon0);
m_OnlineList.SetImageList(&m_ImageOnlinelist,LVSIL_SMALL);//在線列表框添加圖標

 

 

////===============刪除==============

 



////刪除整行選中的===============
//int count = m_lst->GetSelectedCount();
//if(count > 0){
//POSITION pos = m_lst->GetFirstSelectedItemPosition();
//while (pos != NULL)
//{
//int delId = m_lst->GetNextSelectedItem(pos);
//m_lst->DeleteItem(delId);
//}
//}




/////刪除CHECKBOX選中的項============
for(int i = 0; i<m_lst->GetItemCount(); i++)
{
if(m_lst->GetCheck(i))
{
m_lst->DeleteItem(i);
i--;
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM