VFP5中實現(xiàn)帶圖標列表項

字號:

在Windows95中打開“我的電腦”,可以看到窗口中每一項目的面前都有一個小圖標,這些圖標代表著項目的類型,如果是文件夾,就顯示“文件夾”圖標,如果是文本文件,就顯示“記事本” 圖標。在資源管理器中,也是如此。這種帶圖標的顯示方式,非常直觀,筆者經過摸索,在VFP50(Visual FoxPro 50)中也實現(xiàn)了這樣的功能。具體實現(xiàn)如下:
    1新建一表單,往其中添加一個列表框和一個命令按鈕。
    2列表框和命令按鈕的屬性設置如下:
    控件名
    屬性
    值
    list1
    ColumnCount 1
    ColumWidths 60
    IntegralHeight .T.
    FontSize 10
    RowSourceType 0(或1,不能為其他值)
    RowSource 空
    command1
    Caption 演示
    3命令按鈕的Click事件代碼如下:
    &&往列表框中添加項目
    ThisFormList1.List(1)=′MAIN.SCX′
    ThisFormList1.List(2)=′FORM1.SCX′
    ThisFormList1.List(3)=′DEMO1.DBF′
    ThisFormList1.List(4)=′SALES.DBF′
    ThisFormList1.List(5)=′TESTDATA.DBC′
    ThisFormList1.List(6)=′MAIN.PRG′
    ThisFormList1.List(7)=′MYFUNC.PRG′
    ThisFormList1.List(8)=′SALES.FRX′
    ThisFormList1.List(9)=′SS.FRX′
    ThisFormList1.List(10)=′SALES.QPR′
    N=ThisFormList1.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
    執(zhí)行的結果是在每一項目前都有與項目類型對應的圖標。將列表框換成組合框(ComboBox)也能達到同樣效果。