Delphi 2010 垂直工具栏

问题描述

我在 Windows 10 上使用 RAD Studio 2010。有没有办法为 Delphi VCL 项目创建垂直工具栏?类似于附加图片显示内容(右侧,从上到下,在主窗口中):

我需要可选择的项目。这意味着在点击或鼠标移动时改变背景颜色

vertical toolbar with pictured buttons

解决方法

您可以使用 TListView 执行此操作。将您的图像分配给 TImageList,并将该 ImageList 分配给 ListView.LargeImages 属性。使用 Items 属性为要显示的每个图像添加一个项目(或右键单击 ListView 并从上下文菜单中选择 New Item),为每个项目分配适当的标题和图像索引。确保 ListView.ViewStyle 设置为 vsIconListView.ItemOptions.AutoArrange 设置为 True

这是一个快速测试应用程序的结果示例,其中包含我添加的一些随机图像 - 仅是一些 Win10 风格的 32x32 图像,由 Icons8 提供。当鼠标指针悬停在它上面时,它会显示突出显示的 Button 3 项目。

使用 TListView 的唯一缺点是,如果对话框的大小设置为使 ListView 中的所有项目都不可见,则 ListView 将自动显示垂直滚动条。您需要确保为该滚动条留出足够的空间以防万一,或者限制窗口的 MinHeight 约束以防止其调整得太小。另一方面,如果您想在每一行中显示多个项目,使用 TListView 很容易 - 只需扩大控件以允许每行更多项目,AutoArrange 属性将采用照顾一切。

enter image description here