[返回]
电脑报1998年第20期
VFP5.0中实现带图标列表项
河北 王俊
在Windows95中打开“我的电脑”,可以看到窗口中每一项目的面前都有一个小图标,这些图标代表着项目的类型,如果是文件夹,就显示“文件夹”图标,如果是文本文件,就显示“记事本”
图标。在资源管理器中,也是如此。这种带图标的显示方式,非常直观,笔者经过摸索,在VFP50(Visual
FoxPro 50)中也实现了这样的功能。具体实现如下:
1新建一表单,往其中添加一个列表框和一个命令按钮。
2列表框和命令按钮的属性设置如下:
控件名 |
属性 |
值 |
list1 |
ColumnCount | 1 |
| ColumWidths | 60 | |
| IntegralHeight | .T. | |
| FontSize | 10 | |
| RowSourceType | 0(或1,不能为其他值) | |
| RowSource | 空 | |
command1 |
Caption | 演示 |
3命令按钮的Click事件代码如下:
&&往列表框中添加项目
ThisFormList1.List(1)=′MAIN.SCX′
ThisFormList1.List(2)=′FORM1.SCX′
ThisFormList1.List(3)=′DEMO1.DBF′
ThisFormList1.List(4)=′SALES.DBF′
ThisFormList1.List(5)=′TESTDATA.DBC′
ThisFormList1.List(6)=′MAIN.PRG′
ThisFormList1.List(7)=′MYFUNC.PRG′
ThisFormList1.List(8)=′SALES.FRX′
ThisFormList1.List(9)=′SS.FRX′
ThisFormList1.List(10)=′SALES.QPR′
N=ThisFormList1.ListCount
FOR i=1 TO N
&&从后缀名判断类型
cExtension=UPPER(RIGHT(ThisForm.List1.List(I),3))
&&bmp文件在当前目录下
DO CASE
CASE cExtension=″DBF″
ThisForm.List1.Picture(I)=″table.bmp″
CASE cExtension=″PRG″
ThisForm.List1.Picture(I)=″apps.bmp″
CASE cExtension=″SCX″
ThisForm.List1.Picture(I)=″forms.bmp″
CASE cExtension=″DBC″
ThisForm.List1.Picture(I)=″database.bmp″
CASE cExtension=″FRX″
ThisForm.List1.Picture(I)=″report.bmp″
CASE cExtension=″QPR″
ThisForm.List1.Picture(I)=″query.bmp″
OTHERWISE
ThisForm.List1.Picture(I)=″fox.bmp″
ENDCASE
ENDFOR
执行的结果是在每一项目前都有与项目类型对应的图标。将列表框换成组合框(ComboBox)也能达到同样效果。