在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)也能达到同样效果。
……