首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >虚拟CListCtrl自动调整大小

虚拟CListCtrl自动调整大小
EN

Stack Overflow用户
提问于 2013-11-03 15:56:53
回答 2查看 1.2K关注 0票数 1

我想自动调整虚拟标志(LVS_OWNERDATA ClistCtrl )的列的大小。

我在一些论坛中发现虚拟列表不能使用"LVSCW_AUTOSIZE“选项。一些人建议实现一种算法。

但是,一旦加载了不带任何调整大小选项的ClistCtrl,双击标题分隔符就可以正确地调整可见列的大小。

那么,如何执行"HDN_DIVIDERDBLCLICKW“调用的函数呢?

EN

回答 2

Stack Overflow用户

发布于 2014-07-07 01:12:27

Clements建议的自动调整大小适用于普通列表控件,但不适用于虚拟列表控件(因为控件对列数据一无所知)。您必须自己提供数据列宽度。

票数 1
EN

Stack Overflow用户

发布于 2013-11-03 16:46:02

this Codeproject article中,您应该能够自动调整列的大小,如下所示:

代码语言:javascript
复制
pListCtrl->SetColumnWidth(i, LVSCW_AUTOSIZE);
int nColumnWidth = pListCtrl->GetColumnWidth(i);
pListCtrl->SetColumnWidth(i, LVSCW_AUTOSIZE_USEHEADER);
int nHeaderWidth = pListCtrl->GetColumnWidth(i); 
pListCtrl->SetColumnWidth(i, max(nColumnWidth, nHeaderWidth));

但是,您可能需要处理the LVN_GETDISPINFO notification来向虚拟列表控件提供必要的数据...

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19750953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档