【问题标题】:Delphi VCL horizontal container (gallery like) of components (TDBCtrlGrid, TScrollBox)?组件(TDBCtrlGrid,TScrollBox)的Delphi VCL水平容器(类似画廊)?
【发布时间】:2020-03-20 09:48:23
【问题描述】:

我正在使用 Delphi 2009,并且我已经设置了(可变长度的)记录,其中包含数据 <image, label, file path>,我想以类似画廊的结构呈现这些记录,并带有整个列表的水平滚动,并且可能,没有垂直滚动。

TDBCtrlGrid 似乎是精确的解决方案(我可以在 TClientDataSet 中保存记录,并且有很多自动化),但它是纯垂直集合(至少对于 Delphi 2009),它具有 Orientation 属性但是(在至少在设计时)它只控制滚动条(将它放在底部)。那么 - 也许仍然可以调整 TDBCtrlGrid 以用于水平使用?

TScrollBox(带有 TFrame 子元素)是另一个有前途的解决方案,但到目前为止,我可以实现所有框架都垂直堆叠,我不知道如何要求它们水平并排。那么 - 有没有办法将 TScrollBox 用于水平、类似画廊的结构?

我保留了使用 TcxDBVerticalGrid 的选项,但我正在尽一切努力避免它 - 我不确定复杂网格是否能够通过其自己的图像内部组件呈现图像,我更喜欢使用 TImage 或 TDBImage 组件(似乎很健壮)在一些控件容器内(例如在 TFrame 上并将这些框架放在 TScrollBox 中)。

【问题讨论】:

  • 我更正了我的问题 - 当然,我在考虑 TDBCtrlGrid。我询问了这两个标准组件,我失败了 - 我必须为每个组件打开单独的问题。 TcxDBGrid 无论如何都不适合在这里 - 它以垂直方式显示一条记录,但我正在考虑至少 2-3 张图片同时可见时的画廊行为。
  • TcxDBGrid - 如果您指的是 TcxGrid - 使用卡片/布局视图应该非常简单。

标签: delphi image-gallery delphi-2009 tscrollbox


【解决方案1】:

假设问题类似于“如何使 TDBCtrlGrid 在水平模式下工作?”

除了设置方向之外,您还应该将 RowCount 和 ColCount 设置为一些合适的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    相关资源
    最近更新 更多