Total Commander擁有Listbox,可以在Thumbs模式下垂直滾動N列。如果100個項目,那麼第1行有N個項目,第2行有N個項目,....和滾動條是垂直的。我無法在Delphi7中做到這一點。我添加了100個項目並設置了Columns=4
,但滾動是水平的。列表框:如何垂直滾動許多項,包括列?
如何使它垂直?
Total Commander擁有Listbox,可以在Thumbs模式下垂直滾動N列。如果100個項目,那麼第1行有N個項目,第2行有N個項目,....和滾動條是垂直的。我無法在Delphi7中做到這一點。我添加了100個項目並設置了Columns=4
,但滾動是水平的。列表框:如何垂直滾動許多項,包括列?
如何使它垂直?
您應該考慮使用TListView
而不是TListBox
。列表框用於簡單的事情。
的TListBox
確實只存在一個水平滾動條時Columns > 0
,根據the documentation(重點煤礦):
多列列表框具有水平滾動條,允許用戶 查看多個列當他們包裹。
此外,這不是VCL列表框控件的限制。事實上,根據the MSDN article on the standard Windows List Box control:
LBS_MULTICOLUMN
指定滾動水平多列列表框中。列表框自動計算列的寬度,或者應用程序可以使用LB_SETCOLUMNWIDTH消息設置寬度。 如果列表框具有LBS_OWNERDRAWFIXED樣式,則當列表框發送WM_MEASUREITEM消息時,應用程序可以設置寬度爲 。
LBS_MULTICOLUMN風格的列表框不能垂直滾動 -it 忽略它收到的任何WM_VSCROLL消息。
列表視圖是絕對正確的控制 – 2014-10-16 15:49:23
如果Total Commander的列表支持「拇指」模式,它不是TListBox。它是一個TListView,它是一個標準的Windows通用控件(與Windows資源管理器右窗格中使用的相同)。 – 2014-10-16 17:57:37
@KenWhite:從技術上說,它是'以前*在右窗格中使用的'相同的東西'... – 2014-10-16 18:43:38