摘 "要: 使用瀏覽圖片軟件可以方便快捷地瀏覽、查找圖片。圖片瀏覽軟件有很多, Visual Basic 為應用程序的使用提供了豐富的圖形圖像功能。在實際編程過程中,要實現(xiàn)如ACDSee等圖形工具軟件的打開和圖片瀏覽功能,即能夠方便地切換驅(qū)動器和文件夾在機器上瀏覽打開圖片。通過使用Visual Basic應用程序能夠響應鼠標按鈕及與SHIFT、CTRL或ALT鍵的各種組合事件的功能,可以很方便地實現(xiàn)圖像的瀏覽打開功能。
關(guān)鍵詞: VB; 圖片框; 圖像框; 圖片瀏覽
中圖分類號: TN964?34 " " " " " " " " " 文獻標識碼: A " " " " " " " " " " " " " "文章編號: 1004?373X(2015)06?0063?02
ACDSee production based on VB
JI Xiao?yun
(Computer Teaching and Research Department, Bohai University, Liaoning 121000, China)
Abstract: Pictures can be browsed and found conveniently by means of picture browse software. There are a lot of ready?made picture browse softwares. Visual Basic provides rich graphic image functions for application program. In the process of the actual programming, if wants to realize the image opening and browsing functions as some graphical tool softwares like ACDSee can do, namely switching drive and folder easily to open the pictures in the machine, Visual Basic should be used to respond to the functions of the various combination events of mouse button and SHIFT, CTRL or ALT key, which can easily implement image browsing open function. How to use Visual Basic to enjoy the pictures is introduced in detail in this paper.
Keywords: VB; picture box; image box; picture browse
圖片瀏覽軟件的主要操作對象是各種類型的圖片,而VB作為一種可視化的程序設計語言,對于圖片元素的操作非常靈活,下面介紹使用VB如何DIY看圖軟件。
1 "看圖軟件界面的設計
分析當前的看圖軟件,一般情況看圖軟件由兩個界面構(gòu)成。第一個界面(見圖1)主要包含切換驅(qū)動器、目錄及圖片縮略圖的瀏覽;第二個界面(見圖2)是圖片瀏覽界面。那么需要使用Visual Basic創(chuàng)建兩個窗體,具體設計步驟如下所示:
(1) 啟動VB創(chuàng)建一個工程,在Form窗體中加入驅(qū)動器列表框Drive1、目錄列表框Dir1、文件列表框File1、圖像框?qū)ο驣mage1,設置窗體布局。
(2) 圖像框Image1的stretch設置為Falsh;File1的filter屬性設置為“位圖文件|*.bmp|Jpeg文件|*.jpg|Icon圖標文件|*.ico|矢量圖片文件|*.wmf|Gif圖片|*.gif”。
lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\04T1.tifgt;
圖1 圖片瀏覽器的主界面
(3) 單擊工程菜單,添加一個窗體Form2。
(4) 在Form2中加入一個圖像框Image1。
(5) 在界面2中要實現(xiàn)從當前文件向前、向后瀏覽及返回界面1的功能,可以通過添加菜單或者直接用命令按鈕來實現(xiàn)均可。本例中采用比較簡便的按鈕方式來實現(xiàn)。那么在Form2中添加3個命令按鈕Command1、Command2、Command3。
(6) 設置三個命令按鈕的Caption屬性均為空,Style屬性均為1(圖形按鈕),通過Picture屬性分別引入三個圖標文件。
lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\04T2.tifgt;
圖2 圖片瀏覽界面
2 "控件的編程以及調(diào)試
(1) 對Form1中各個控件進行編程:
首先實現(xiàn)Drive1,Dir1,F(xiàn)ile1三個對象的關(guān)聯(lián),代碼如下:
Private Sub Drive1_Change()
On Error Resume Next
Dir1.Path = Drive1.Drive
End Sub
上面的代碼實現(xiàn)目錄列表框和驅(qū)動器列表框之間的關(guān)聯(lián)。
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
此段代碼實現(xiàn)目錄列表框和文件列表框之間的關(guān)聯(lián)。當在文件列表框File1單擊某圖片文件時,在圖像框Image1里顯示縮略圖的代碼如下:
Private Sub File1_Click()
Image1.Picture = LoadPicture(File1.Path amp; \"\\" amp; File1.FileName)
i = File1.ListIndex
On Error Resume Next
End Sub
注意:此段代碼中的i用來記錄圖片在當前目錄中的位置,在Form2中要使用,因此必須在窗體的通用聲明部分使用Public來定義。
當雙擊文件列表框File1某圖片文件時,要跳轉(zhuǎn)到圖片瀏覽界面,以大屏幕的方式瀏覽圖片,跳轉(zhuǎn)功能的代碼如下:
Private Sub File1_DblClick()
Me.Hide
Form2.Show
Form2.Image1.Picture = Me.Image1.Picture
End Sub
(2) 接下來對Form2中個控件進行編程:
當切換到Form2時,為保證圖片要顯示在整個窗口的中央,可以對窗體的Activate事件進行編程,代碼如下:
Private Sub Form_Activate()
Image1.Move (Me.ScaleWidth ? Image1.Width) / 2, (Me.ScaleHeight ? Image1.Height) / 2
End Sub
Command1要實現(xiàn)單擊返回如圖一界面,代碼如下:
Private Sub Command1_Click()
Me.Hide
Form1.Show
End Sub
Command2要實現(xiàn)單擊從當前文件向后瀏覽其余圖片的功能,代碼如下:
Private Sub Command2_Click()
Image1.Move (Me.ScaleWidth ? Image1.Width) / 2, (Me.ScaleHeight ? Image1.Height) / 2
If i = 0 Then i = Form1.File1.ListCount ? 1 Else i = i ? 1
Image1.Picture = LoadPicture(Form1.File1.Path amp; \"\\" amp; Form1.File1.List(i))
End Sub
Command3要實現(xiàn)單擊從當前文件向前瀏覽其余圖片的功能,代碼如下:
Private Sub Command3_Click()
Image1.Move (Me.ScaleWidth ? Image1.Width) / 2, (Me.ScaleHeight ? Image1.Height) / 2
If i = Form1.File1.ListCount ? 1 Then i = 0 Else i = i + 1
Image1.Picture = LoadPicture(Form1.File1.Path amp; \"\\" amp; Form1.File1.List(i))
End Sub
運行期間當窗體大小改變時,圖片也要顯示在正中央,為了保證圖像顯示在整個窗體的中央,需要對窗體的Resize事件進行編程,代碼同窗體的Activate事件相同。當然也可以添加菜單,把一些常用的命令以菜單項的方式創(chuàng)建,方法比較簡單,這里不再論述。
3 "結(jié) "語
運行程序,查看自己DIY的看圖軟件,由此就擁有了自己專屬的看圖軟件。
參考文獻
[1] 李振亭.Visual Basic程序設計教程[M].北京:北方交通大學出版社,2003.
[2] 楊敏.中文版Visual Basic 6.0 實用教程[M].成都:電子科技大學出版社,2001.
[3] 童鑫.高職VB語言基礎課“教、學、做”一體化教學模式改革初探[J].教書育人,2011(18):66?68.
[4] 劉炳文.精通Visual Basic 6.0[M].北京:電子工業(yè)出版社,2001.
[5] 張建軍,韓瑩.利用VB、Delphi輕松實現(xiàn)圖象漫游[J].電腦開發(fā)與應用,2001,14(5):40?41.
[6] 陳先明.VB中圖形平移和縮放功能的實現(xiàn)方法[J].電腦學習,1999(6):23?24.