Win32 控件篇(7)
2011-03-21 11:09 Clingingboy 阅读(1458) 评论(1) 编辑 收藏 举报
6.32 如何设置列表控件的显示方式
6.33 如何设置列表控件的背景图片
6.34 如何在列表控件中整行选中
使用SetExtendedStyle设置,参数为LVS_EX_FULLROWSELECT
//设置列表控件整行选中
m_ctrlList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
6.35 如何在列表控件中显示网格线
同上方法,参数为LVS_EX_GRIDLINES
//设置列表控件显示网格线
m_ctrlList.SetExtendedStyle(LVS_EX_GRIDLINES);
6.36 如何在列表控件中使用复选框
同上,参数为LVS_EX_CHECKBOXES
//设置列表控件使用复选框
m_ctrlList.SetExtendedStyle(LVS_EX_CHECKBOXES);
6.37 如何在列表控件中排序表项
先注册LVN_COLUMNCLICK消息事件
ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST, OnColumnclickList)
然后使用SortItems方法传入一个CallBack进行比较
int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
//获得列表控件
CListCtrl* pListCtrl = (CListCtrl*)lParamSort;
CString strItem1 = pListCtrl->GetItemText(lParam1, 0);
CString strItem2 = pListCtrl->GetItemText(lParam2, 0);
return strcmp(strItem2, strItem1);
}
void CDemoDlg::OnColumnclickList(NMHDR* pNMHDR, LRESULT* pResult)
{
//排序表项
m_ctrlList.SortItems(CompareFunc, LPARAM(&m_ctrlList));
}