【发布时间】:2008-11-27 13:30:01
【问题描述】:
在 MFC 中,CListBox 具有“禁用不滚动”属性。当您将其设置为 true 时,垂直滚动条始终存在,无论您有多少项目。我怎样才能用 CListCtrl 做同样的事情?
【问题讨论】:
在 MFC 中,CListBox 具有“禁用不滚动”属性。当您将其设置为 true 时,垂直滚动条始终存在,无论您有多少项目。我怎样才能用 CListCtrl 做同样的事情?
【问题讨论】:
标准控件似乎不支持您想要的行为。
您可以创建足够的条目以使滚动条可见,也可以创建自己的控件以您喜欢的方式实现它。介于两者之间的是 ownerdrawn 样式,但这不适用于滚动条。
顺便说一句:滚动条在列表控件中始终可见的原因是什么?
【讨论】:
鉴于您正在尝试创建一个漂亮的报表视图,其中列的大小恰好适合 - 没有水平滚动,也没有丑陋的灰色条代替滚动。
您可以从报告视图的内存中添加最后一列,该列将填充其余空间且无法调整大小。目前我似乎无法在 MSDN 中找到合适的代码,模糊地记得该列的大小为 -1。
如果您在哪里继续调整列的大小,那么我会在以下情况下这样做: - 应用程序完成向报告添加/删除一组新项目 - 用户调整报告窗口的大小
还要考虑一下,为什么不让用户根据自己的需要调整列的大小?
【讨论】: