VisualBasic中實(shí)現(xiàn)帶預(yù)覽的對(duì)話框

字號(hào):

用戶在圖片框中選擇圖片時(shí),希望預(yù)先對(duì)圖片的輪廓及大小有初步了解,但是VB的通用對(duì)話框沒有預(yù)覽的功能,為此需要定制一個(gè)自定義對(duì)話框。我們可以通過image控件加入窗體中來實(shí)現(xiàn)其功能。
     程序示例:
     程序功能說明:
     在窗體的file1中選擇一個(gè)圖片文件,點(diǎn)選“預(yù)覽”復(fù)選框,image控件就顯示相應(yīng)的圖片,label1就顯示該圖片的大小。
     新建一個(gè)工程,加入以下控件:
     控件 名稱 屬性
     form form1 borderstyle=3
     (vbsizedouble)
     caption=“圖片預(yù)覽對(duì)話框"
     drivelistbox drive1
     dirlistbox dir1
     filelistbox file1 pattern=“*.bmp;
     *.jpg;*.gif"
     image image1 stretch=true
     checkbox chk value=“預(yù)覽"
     commandbutton cmd1 caption=“確定"
     cmd2 caption=“退出"
     label lab1 caption=“"
     源代碼:
    以下是引用片段:
    'declare
    Public filename$
    dim sfilename$
    Private sub drive1_change()
    dir1.path=drive1.drive
    End sub
    Private sub dir1_change()
    file1.path=dir1.path
    End sub
    Private sub cmd1_click()
    filename=sfilename
    End sub
    Private sub cmd2_click()
    End
    End sub
    Private sub file1_click()
    dim ssize as long
    if fille1.listcount>0 then
     if right(file1.path,1)<>“\" then
     sfilename=file1.path&“\"&file1.filename
     else
     sfilename=file1.path&file1.filename
     End if
    if chk.checked then
    image1.picture=loadpicture(“")
    image1.picture=loadpicture(sfilename)
    ssize=filelen(sfilename)
    ssize=ssize/1000
    lab1.caption=str(ssize)&“k"
    else
    lab1.caption=“"
    image1.picture=loadpicture(“")
    end if
    end if
    End sub