用VisualBasic輕松實現(xiàn)看圖軟件

字號:

一、 前言
    在日常的工作或?qū)W習(xí)中,像一些常用的工具是必不可少的。比如ACDsee,WinRAR等等。其實在VB中就可以很容易地實現(xiàn)像ACDsee這樣的一些基本看圖功能,用著自己編寫的看圖軟件,感覺是不是非常棒?!好了,言歸正傳,現(xiàn)在就開始編寫吧!
    二、分析與實現(xiàn)
    編寫之前,首先把一些重要的實現(xiàn)功能思考一下。明白了原理,做其他類似的程序,應(yīng)該是輕車熟路了。
    1) 在選擇的目錄中過濾出圖片格式的文件(gif,jpg,bmp,ico等)功能:
    VB中自帶的DriveListBox,DirListBox,F(xiàn)ileListBox控件組合就可以輕易的實現(xiàn)上述功能,將FileListBox的Pattern屬性設(shè)置為*.jpg;*.bmp;*.ico;*.gif即可,這樣FileListBox中只顯示Pattern屬性設(shè)定好的擴展名所對應(yīng)的圖片文件。
    2) 將當(dāng)前目錄下的圖片按分頁的方式顯示功能:
    關(guān)于顯示圖片的控件問題,其實用VB自帶的Image控件就可以了。對于如何實現(xiàn)分頁的問題,就需要按照自定義的顯示圖片數(shù)量/頁(本程序定義為25張圖片/頁),動態(tài)生成Image控件組,然后將目錄中的圖片以縮放預(yù)覽的方式顯示出來,具體實現(xiàn)參見后面的代碼。
    以上兩個問題解決了,基本功能應(yīng)該可以實現(xiàn)了。下面就是具體的實現(xiàn)步驟:
    a) 主窗體設(shè)計
    主窗體布局采用流行的T型框架,上方包括菜單及常用工具欄,左側(cè)顯示目錄結(jié)構(gòu)樹,右側(cè)為顯示圖片區(qū)域(圖片預(yù)覽區(qū)),下方為狀態(tài)欄,用來顯示簡單的圖片信息。下表是用到的部分控件列表:
    控件名 控件類型 標(biāo)題 說明
    Command1(1) CommandButton 上一頁 預(yù)覽上一頁圖片
    Command1(0) CommandButton 下一頁 預(yù)覽下一頁圖片
    Picture1 PictureBox 用來裝入預(yù)覽控件組的容器控件
    Image1(0) Image 顯示圖片控件
    Drive1 DriveListBox 顯示當(dāng)前系統(tǒng)的磁盤列表
    Dir1 DirListBox 顯示當(dāng)前磁盤的目錄列表
    File1 FileListBox 顯示當(dāng)前目錄的圖片格式文件列表
    b) 代碼實現(xiàn)
    通過以下一段代碼將驅(qū)動器列表控件、目錄列表控件、文件列表控件聯(lián)系起來。
    Private Sub Dir1_Change()
    File1.Path = Dir1.Path
    End Sub
    Private Sub Drive1_Change()
    Dir1.Path = Drive1.Drive
    Call InitShowPic
    End Sub
    Private Sub File1_PathChange() ‘當(dāng)文件列表發(fā)生變化時重新顯示圖片
    Call InitShowPic
    End Sub