Total Commander有Listbox,可以在Thumbs模式下垂直滚动,有N列。如果100个项目,则第1行有N个项目,第2行有N个项目,....并且滚动条是垂直的。我不能在Delphi7中做到这一点。我添加了100个项目并设置了Columns=4
,但滚动是水平的。
如何让它垂直?
答案 0 :(得分:4)
您应该考虑使用TListView
代替TListBox
。列表框用于更简单的事情。
根据the documentation(强调我的)TListBox
Columns > 0
确实只显示水平滚动条:
多列列表框有一个允许用户使用的水平滚动条 在包装时查看多个列。
此外,这不是VCL列表框控件的限制。确实,根据the MSDN article on the standard Windows List Box control:
<强> LBS_MULTICOLUMN 强>
指定滚动水平的多列列表框。该 列表框自动计算列的宽度,或者 应用程序可以使用LB_SETCOLUMNWIDTH消息设置宽度。 如果列表框具有LBS_OWNERDRAWFIXED样式,则可以设置应用程序 列表框发送WM_MEASUREITEM消息时的宽度。
LBS_MULTICOLUMN样式的列表框无法垂直滚动 -it 忽略它收到的任何WM_VSCROLL消息。