【问题标题】:How make a control that look like the "download" dialog of firefox如何制作一个看起来像 Firefox 的“下载”对话框的控件
【发布时间】:2010-04-24 22:50:35
【问题描述】:

我有一个类似于 firefox 的应用程序,可以通过互联网上的插件进行增强。

现在,我想在 Delphi (2010) 中提供一个类似于从 firefox 下载的对话框。我没有构建图形控件的技能。

使用 Delphi 的标准控件,最好的方法是什么...使用带有自定义绘制的 TListView/TStringGrid 或...

这个想法是在左侧显示一个图标,一个带有字幕的标题,中间有 1-3 行,右侧显示日期/版本。该行必须是可选择的,仅此而已。

【问题讨论】:

    标签: delphi custom-controls delphi-2010


    【解决方案1】:

    对于 UI 部分,

    最简单的方法:在 bergsoft 的“幻灯片视图”中使用 TNextGrid。这是我最喜欢的 VCL 控件之一。检查此屏幕截图:

    http://www.bergsoft.net/res/screenshots/next-grid/slides-style.gif

    最灵活的方式:将 TVirtualStreeTree 与自定义绘图一起使用,但需要一些时间才能使用最强大的树视图控件并应用自定义绘图。

    最有前途的方法:使用TMS软件的高级多边形列表(目前处于测试阶段),查看以下页面中的截图,非常好看!: http://www.tmssoftware.com/site/advpolylist.asp

    【讨论】:

      【解决方案2】:

      使用 SoftGems 中的 VirtualStringTree。

      【讨论】:

        【解决方案3】:

        使用 TFrame 为一次下载创建自定义控件,然后重用它。

        【讨论】:

        • 我标记它是因为它是使用原生 Delphi 控件的更简单的方法。- 但是,我喜欢 3d 派对控件的建议。不好是不可能将几个问题标记为答案。
        【解决方案4】:

        使用 TDataSet 后代(例如 TClientDataSet、JVCL 的 TjvMemoryData 或您喜欢的任何其他数据集)来创建一个包含描述下载所需的所有字段的表。例如:

        • Plugin_Name - Char(255)

        • Plugin_Icon - Blob

        • Downloaded_Size - Int64

        • Total_Size - Int64

        //等等。

        (当然,上面提供的字段只是作为示例 - 实际字段由您决定)。

        在此之后,将TDataSource 连接到您的表并使用 TDBCtrlGrid 来显示您想要的数据。对于上面的示例,您可以记录一个TDBLabel、TDBImage、TjvDBProgressBar(不幸的是我们没有随Delphi 提供的数据感知仪表)等所有这些都连接到适当的字段。

        通过这种方式,您可以使用自定义布局模拟列表(如果您将 TDBCtrlGrid 的 Column 属性设置为 1),您可以在其中执行选择、添加、删除等操作。

        HTH

        【讨论】:

          猜你喜欢
          • 2011-11-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-12
          • 2010-11-13
          • 2011-12-10
          相关资源
          最近更新 更多