为什么80%的码农都做不了架构师?>>>
ListControl------Report类型
1. 列相关操作
插入列
//插入第一列
m_hListMuti.InsertColumn(0,_T("FirstColumn"),HDF_CENTER,100,0);
//插入第二列
m_hListMuti.InsertColumn(1,_T("SecondColumn"),HDF_CENTER,52,0);
删除列
m_hListMuti.DeleteColumn(0); //删除第一列
m_hListMuti.DeleteColumn(1); //删除第二列
注:删除所有列时要从后往前删,因为如果把前面的列删除后,后面的列号变了。
获取总列数
//通过ListControl的Header获取总列数
int nColNum=m_ hListMuti.GetHeaderCtrl()->GetItemCount();
获取所有列的Header字符串内容
LVCOLUMN lvcol;
char str[256]=””;
int nColNum=0;
CString strColumnName[4];//假如有4列nColNum = 0;
lvcol.mask = LVCF_TEXT;
lvcol.pszText = str;
lvcol.cchTextMax = 256;
while(m_hListMuti.GetColumn(nColNum, &lvcol))
{strColumnName[nColNum] = lvcol.pszText; nColNum++;
}
修改指定列的列名
LVCOLUMN column;
//第一列
column.mask=LVCF_TEXT;
column.pszText= "TempFirstColumn";
m_hListMuti.SetColumn(0,&column); //第二列
column.mask=LVCF_TEXT;
column.pszText=" TempSecondColumn ";
m_hListMuti.SetColumn(1,&column);
2. 样式设置
//设置ListControl的样式
m_hListMuti.ModifyStyle(0,LVS_SHOWSELALWAYS);
//设置ListControl的扩展样式
m_hListMuti.SetExtendedStyle(LVS_EX_FULLROWSELECT |
LVS_EX_GRIDLINES| LVS_EX_TWOCLICKACTIVATE);
3.行相关操作
获取ListControl的总行数
Int nMutilItem=m_hListMuti.GetItemCount();
获取所有选中行的行号及内容
vector
vector
int nMutilItem; //记录选择的行数viRowIndex.clear();
vstrItemText.clear();POSITION pos = m_hListMuti.GetFirstSelectedItemPosition();
int nSingleItem = m_hListMuti.GetNextSelectedItem(pos);
while(pos != NULL)
{viRowIndex.push_back(nSingleItem);CString strItem=m_hListMuti.GetItemText(nSingleItem,0); //获取该行第一列的值//CString strItem=m_hListMuti.GetItemText(nSingleItem,1); //获取该行第二列的值vstrItemText.push_back(strItem);nSingleItem = m_hListMuti.GetNextSelectedItem(pos);nMutilItem++;
}
删除所有行
m_hListMuti.DeleteAllItems(); //删除所有行
删除一行
m_hListMuti.DeleteItem(0); //删除第0行
添加行
m_hListMuti.InsertItem(0,""); //在第0行的位置插入一行
m_hListMuti.SetItemText(0,0,"0-0"); //设置第0行第0列的值为“0-0”
m_hListMuti.SetItemText(0,1,"0-1"); //设置第0行第1列的值为“0-1”