【发布时间】:2018-07-31 11:10:56
【问题描述】:
我有一个派生自 CListCtrl 的类。我希望所有列的宽度总和显示窗口的宽度,这样我就不会得到底部滚动条。我可以通过GetSystemMetrics(SM_CXVSCROLL) 调用获得标准滚动条的宽度,但我不知道如何判断垂直滚动条是否处于活动状态。我试过用:
auto pScrollbar = GetScrollBarCtrl(SB_VERT);
auto is_visible = pScrollbar && pScrollbar->IsWindowVisible();
但pScrollbar 始终是nullptr。我环顾四周,有些人说滚动条并不总是窗口,可能是手动绘制的(呃!),可能根本不是窗口。这将使我的生活更加困难。想法?
【问题讨论】:
-
列表控件的细节我不知道,但是There are two types of scrollbars.
-
您必须使用客户端矩形并根据所需的列宽度对其进行划分并设置最后一列剩余宽度