我有一个像firefox一样的应用程序,可以通过互联网上的插件进行增强。
现在,我想在Delphi(2010)中提供类似于从Firefox下载的对话框。我没有构建图形控件的技能。
使用Delphi的标准控件,可能是最好的方法......使用带有自定义绘图的TListView / TStringGrid或...
这个想法是在左边显示一个图标,标题带有副标题,中间有1-3行,右边是日期/版本。该行必须是可选择的,就是全部。
答案 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