代码改变世界

Win32 控件篇(7)

  Clingingboy  阅读(1469)  评论(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));
}

 

 

 

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2007-03-21 asp.net控件开发基础(22)
点击右上角即可分享
微信分享提示