问题描述
我在 Windows 10 上使用 RAD Studio 2010。有没有办法为 Delphi VCL 项目创建垂直工具栏?类似于附加图片中显示的内容(右侧,从上到下,在主窗口中):
我需要可选择的项目。这意味着在点击或鼠标移动时改变背景颜色
解决方法
您可以使用 TListView
执行此操作。将您的图像分配给 TImageList
,并将该 ImageList 分配给 ListView.LargeImages
属性。使用 Items
属性为要显示的每个图像添加一个项目(或右键单击 ListView 并从上下文菜单中选择 New Item
),为每个项目分配适当的标题和图像索引。确保 ListView.ViewStyle
设置为 vsIcon
,ListView.ItemOptions.AutoArrange
设置为 True
。
这是一个快速测试应用程序的结果示例,其中包含我添加的一些随机图像 - 仅是一些 Win10 风格的 32x32 图像,由 Icons8 提供。当鼠标指针悬停在它上面时,它会显示突出显示的 Button 3
项目。
使用 TListView
的唯一缺点是,如果对话框的大小设置为使 ListView 中的所有项目都不可见,则 ListView 将自动显示垂直滚动条。您需要确保为该滚动条留出足够的空间以防万一,或者限制窗口的 MinHeight
约束以防止其调整得太小。另一方面,如果您想在每一行中显示多个项目,使用 TListView
很容易 - 只需扩大控件以允许每行更多项目,AutoArrange
属性将采用照顾一切。