如何使控件看起来像firefox的“下载”对话框

时间:2010-04-24 22:50:35

标签: delphi custom-controls delphi-2010

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

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

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

这个想法是在左边显示一个图标,标题带有副标题,中间有1-3行,右边是日期/版本。该行必须是可选择的,就是全部。

4 个答案:

答案 0 :(得分:2)

对于UI部分,

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

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

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

最有前途的方式:使用TMS软件的高级多边形列表(目前处于测试阶段),查看下一页的屏幕截图,看起来很漂亮!: http://www.tmssoftware.com/site/advpolylist.asp

答案 1 :(得分:1)

使用SoftGems中的VirtualStringTree。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

  • Plugin_Name - 字符(255)

  • Plugin_Icon - Blob

  • Downloaded_Size - Int64

  • Total_Size - Int64

//等

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

在此之后,将TDataSource与您的表格相关联,并使用 TDBCtrlGrid 按您的意愿显示您的数据。对于上面的示例,您可以在记录中添加 TDBLabel,TDBImage,TjvDBProgressBar (遗憾的是我们没有Delphi附带的数据感知指标)等所有这些都连接到相应的字段。

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

HTH