星期四, 八月 31, 2006

CListCtrl 使用心得

CListCtrl 使用心得
初始化:
DWORD dwStyle;
dwStyle = m_bzlist.GetStyle();
dwStyle = LVS_EX_GRIDLINES LVS_EX_FULLROWSELECTLVS_SHOWSELALWAYS ;
m_bzlist.SetExtendedStyle(dwStyle);
m_bzlist.SetBkColor(RGB(0xec,0xf1,0xfd));
m_bzlist.SetTextBkColor(RGB(0xfe,0xFF,0xc6));

插入一列:
m_bzlist.InsertColumn(0,"编号");
m_bzlist.SetColumnWidth(0,50);

插入一行: 方法1:
LV_ITEM lvitem; lvitem.pszText="";
lvitem.mask=LVIF_TEXT;
lvitem.iSubItem=0;
lvitem.iItem=0;
m_jbxxlist.InsertItem(&lvitem);
m_jbxxlist.SetItemText(0,0,xh);
m_jbxxlist.SetItemText(0,1,xm);
m_jbxxlist.SetItemText(0,2,nj);

方法2:
m_yktlist.InsertItem(i,"2");
m_yktlist.SetItemText(i,0,s);
m_yktlist.SetItemText(i,1,xh);
m_yktlist.SetItemText(i,2,xm);

读取数据:
resultlist.GetItemText(行数, 列数);

每行前有复选框的列表:
初始化时使用LVS_EX_CHECKBOXES属性
DWORD dwStyle;
dwStyle = m_yktlist.GetStyle();
dwStyle = LVS_EX_GRIDLINES LVS_EX_FULLROWSELECTLVS_EX_CHECKBOXES ;
m_yktlist.SetExtendedStyle(dwStyle);

设置选中:
m_yktlist.SetItemState (行数,LVIS_SELECTED, LVIS_SELECTED);//设为选中状态
m_yktlist.SetCheck(行数,true/false);

判断是否选中:
m_yktlist.GetItemState(行数,LVIS_SELECTED)==LVIS_SELECTED//选中
m_yktlist.GetCheck(行数)

选中当前选中的 Item :
POSITION pos = mListDvdInfo.GetFirstSelectedItemPosition();
while(pos != NULL){ int nIndex = mListDvdInfo.GetNextSelectedItem(pos); } Item

改变的消息相应:
LVN_ITEMCHANGED LVN_ITEMCHANGING

没有评论: