VFP5中實(shí)現(xiàn)帶圖標(biāo)列表項(xiàng)

字號(hào):

在Windows95中打開(kāi)“我的電腦”,可以看到窗口中每一項(xiàng)目的面前都有一個(gè)小圖標(biāo),這些圖標(biāo)代表著項(xiàng)目的類型,如果是文件夾,就顯示“文件夾”圖標(biāo),如果是文本文件,就顯示“記事本” 圖標(biāo)。在資源管理器中,也是如此。這種帶圖標(biāo)的顯示方式,非常直觀,筆者經(jīng)過(guò)摸索,在VFP50(Visual FoxPro 50)中也實(shí)現(xiàn)了這樣的功能。具體實(shí)現(xiàn)如下:
    1新建一表單,往其中添加一個(gè)列表框和一個(gè)命令按鈕。
    2列表框和命令按鈕的屬性設(shè)置如下:
    控件名
    屬性
    值
    list1
    ColumnCount 1
    ColumWidths 60
    IntegralHeight .T.
    FontSize 10
    RowSourceType 0(或1,不能為其他值)
    RowSource 空
    command1
    Caption 演示
    3命令按鈕的Click事件代碼如下:
    &&往列表框中添加項(xiàng)目
    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文件在當(dāng)前目錄下
    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í)行的結(jié)果是在每一項(xiàng)目前都有與項(xiàng)目類型對(duì)應(yīng)的圖標(biāo)。將列表框換成組合框(ComboBox)也能達(dá)到同樣效果。