二、利用文件控件來處理文件
1、第一個示例(見教材P324)
(1)設(shè)置初始窗體屬性
屬性 設(shè)置
(name) form1
borderstyle 3-fixed dialog'不能改變窗體大小
caption form1
enabled true '不能移動窗體
height 3600
left 0
maxbutton false
minbutton false
moveable false
picture (none)
startupposition 2-centerscreen '窗體位于屏幕中心
top 0
visible true
width 5670
windowstate 0-normal
(2)添加控件,設(shè)置其屬性
向窗體添加一個drivelistbox控件,一個dirlistbox控件 一個filelistbox控件,它們將實現(xiàn)相應(yīng)不同的功能,同時它們又相互協(xié)調(diào)。
(3)編寫代碼
程序的初始化代碼:
Private Sub Form_load()
Drive1.enabled=true
Dir1.enabled=true
File1.enabled=true '設(shè)置控件的有效狀態(tài)
File1.pattern="*.exe" '設(shè)置過濾器,使之只顯示可執(zhí)行文件
Drive1.drive="c:\" '設(shè)置控件的初始驅(qū)動器為C盤
End Sub
程序說明:程序首先通過Drive1.enabled=true,Dir1.enabled=true,F(xiàn)ile1.enabled=true來設(shè)置控件的有效狀態(tài),然后設(shè)置文件的過濾器為"*.exe"和控件的初始驅(qū)動器為"c:\",這樣只有在c盤下面的以"*.exe"結(jié)尾的可執(zhí)行文件才能夠顯示出來。
三控件同步:
Private Sub Drive1_change()
Dir1.path=Drive1.Drive '改變驅(qū)動器,使目錄列表框中的內(nèi)容跟著所選驅(qū)動器的變化而變化
End Sub
程序說明:在程序的運行階段,改變驅(qū)動器時,就會激活DriveListBox控件的Drive1_Change()事件,然后通過Dir1.path=Drive1.Drive來使DriveListBox控件顯示改變驅(qū)動器后的目錄。
Private Sub Dir1_change()
File1.path=Dir1.path '改變目錄,使目錄列表框中的內(nèi)容跟著所選文件夾的不同而不同
End Sub
程序說明:在程序的運行階段,改變目錄時,就會激活DirListBox控件的Dir1_change()事件,然后通過File1.path=Dir1.path來使FileListBox控件顯示改變目錄后的文件列表。
顯示文件路徑和文件名:
Private Sub File1_Click()
MsgBox File1.Path & "\" & File1.FileName '輸出文件路徑和文件名。
End Sub
(4)存儲文件,運行程序
2、第二個示例(見教材P329)
界面設(shè)計:
(1)設(shè)置初始窗體屬性
屬性 設(shè)置
(name) form1
borderstyle 3-fixed dialog
caption form1
enabled true
height 3600
left 0
maxbutton false
minbutton false
moveable false
picture (none)
startupposition 2-centerscreen
top 0
visible true
width 5670
windowstate 0-normal
(2)添加CommonDialog控件,設(shè)置屬性
如果在窗體上放置一個CommonDialog控件,首先把它添加到工具箱上,選擇菜單[工程]/[部件] ,就會彈出對話框,選擇Mocrosoft Common Dialog Control6.0項,在工具箱中就會自動的添加一個CommonDialog控件。它的屬性設(shè)置如下:
屬性 設(shè)置
(name) CommonDialog1
DialogTitle 選擇一個圖像文件
Filename *.bmp;*.jpg;*.gif '用分號隔開
Filter *.bmp;*.jpg;*.gif
InitDir c: '設(shè)置初始化文件目錄
Left 4440
Top 0
(3)在窗體上添加其它控件,設(shè)置屬性
在窗體上添加一個Image控件和三個CommandButton控件。
(4)編寫程序的初始化代碼
在程序的設(shè)計階段,雙擊窗體,在窗體的Form_load()事件中添加下列代碼:
Private Sub Form_Load()
Command1.Enabled=tru
Command2.Enabled=true
Command3.Enabled=true
End Sub
程序說明 窗體的Form_load()事件在程序的運行初期就被執(zhí)行,所以在其中添加代碼對程序進(jìn)行初始化,在本程序中初始化的工作在于設(shè)置各個按鈕的有效狀態(tài)。
如果沒在屬性窗口中設(shè)置過濾器Filename、Filter的屬性,也可在這段代碼中添加代碼:
CommonDialog1.Filter = "Text(*.txt)|*.txt|Picture(*.bmp)|*.bmp|Picture(*.gif)|*.gif|Picture(*.jpg)|*.jpg" '設(shè)置過濾器(注意分隔符)。
(5)響應(yīng)按鈕"打開文件"的單擊事件
按鈕"打開文件"的作用是顯示一個對話框,并且可以在其中選擇一個圖像文件,為了實現(xiàn)以上功能,所以在Command2_click()事件中添加如下代碼:
Private Sub Command2_Click()
CommonDialog1.showopen '顯示"打開"對話框
Image1.picture=LoadPicture(CommonDialog1.Filename) '在Image控件中顯示圖像
End Sub
程序說明:在程序的運行過程中,單擊按鈕[打開文件]時,Command2_Click()事件就被激活,然后開始執(zhí)行其中的代碼,首先通過CommandDialog1.showopen語句來顯示"打開"對話框,選中一個有效的圖像文件后單擊[確定]按鈕,就可通過Image1.Pcture=LoadPicture(CommonDialog1.Filename)顯示圖像。
1、第一個示例(見教材P324)
(1)設(shè)置初始窗體屬性
屬性 設(shè)置
(name) form1
borderstyle 3-fixed dialog'不能改變窗體大小
caption form1
enabled true '不能移動窗體
height 3600
left 0
maxbutton false
minbutton false
moveable false
picture (none)
startupposition 2-centerscreen '窗體位于屏幕中心
top 0
visible true
width 5670
windowstate 0-normal
(2)添加控件,設(shè)置其屬性
向窗體添加一個drivelistbox控件,一個dirlistbox控件 一個filelistbox控件,它們將實現(xiàn)相應(yīng)不同的功能,同時它們又相互協(xié)調(diào)。
(3)編寫代碼
程序的初始化代碼:
Private Sub Form_load()
Drive1.enabled=true
Dir1.enabled=true
File1.enabled=true '設(shè)置控件的有效狀態(tài)
File1.pattern="*.exe" '設(shè)置過濾器,使之只顯示可執(zhí)行文件
Drive1.drive="c:\" '設(shè)置控件的初始驅(qū)動器為C盤
End Sub
程序說明:程序首先通過Drive1.enabled=true,Dir1.enabled=true,F(xiàn)ile1.enabled=true來設(shè)置控件的有效狀態(tài),然后設(shè)置文件的過濾器為"*.exe"和控件的初始驅(qū)動器為"c:\",這樣只有在c盤下面的以"*.exe"結(jié)尾的可執(zhí)行文件才能夠顯示出來。
三控件同步:
Private Sub Drive1_change()
Dir1.path=Drive1.Drive '改變驅(qū)動器,使目錄列表框中的內(nèi)容跟著所選驅(qū)動器的變化而變化
End Sub
程序說明:在程序的運行階段,改變驅(qū)動器時,就會激活DriveListBox控件的Drive1_Change()事件,然后通過Dir1.path=Drive1.Drive來使DriveListBox控件顯示改變驅(qū)動器后的目錄。
Private Sub Dir1_change()
File1.path=Dir1.path '改變目錄,使目錄列表框中的內(nèi)容跟著所選文件夾的不同而不同
End Sub
程序說明:在程序的運行階段,改變目錄時,就會激活DirListBox控件的Dir1_change()事件,然后通過File1.path=Dir1.path來使FileListBox控件顯示改變目錄后的文件列表。
顯示文件路徑和文件名:
Private Sub File1_Click()
MsgBox File1.Path & "\" & File1.FileName '輸出文件路徑和文件名。
End Sub
(4)存儲文件,運行程序
2、第二個示例(見教材P329)
界面設(shè)計:
(1)設(shè)置初始窗體屬性
屬性 設(shè)置
(name) form1
borderstyle 3-fixed dialog
caption form1
enabled true
height 3600
left 0
maxbutton false
minbutton false
moveable false
picture (none)
startupposition 2-centerscreen
top 0
visible true
width 5670
windowstate 0-normal
(2)添加CommonDialog控件,設(shè)置屬性
如果在窗體上放置一個CommonDialog控件,首先把它添加到工具箱上,選擇菜單[工程]/[部件] ,就會彈出對話框,選擇Mocrosoft Common Dialog Control6.0項,在工具箱中就會自動的添加一個CommonDialog控件。它的屬性設(shè)置如下:
屬性 設(shè)置
(name) CommonDialog1
DialogTitle 選擇一個圖像文件
Filename *.bmp;*.jpg;*.gif '用分號隔開
Filter *.bmp;*.jpg;*.gif
InitDir c: '設(shè)置初始化文件目錄
Left 4440
Top 0
(3)在窗體上添加其它控件,設(shè)置屬性
在窗體上添加一個Image控件和三個CommandButton控件。
(4)編寫程序的初始化代碼
在程序的設(shè)計階段,雙擊窗體,在窗體的Form_load()事件中添加下列代碼:
Private Sub Form_Load()
Command1.Enabled=tru
Command2.Enabled=true
Command3.Enabled=true
End Sub
程序說明 窗體的Form_load()事件在程序的運行初期就被執(zhí)行,所以在其中添加代碼對程序進(jìn)行初始化,在本程序中初始化的工作在于設(shè)置各個按鈕的有效狀態(tài)。
如果沒在屬性窗口中設(shè)置過濾器Filename、Filter的屬性,也可在這段代碼中添加代碼:
CommonDialog1.Filter = "Text(*.txt)|*.txt|Picture(*.bmp)|*.bmp|Picture(*.gif)|*.gif|Picture(*.jpg)|*.jpg" '設(shè)置過濾器(注意分隔符)。
(5)響應(yīng)按鈕"打開文件"的單擊事件
按鈕"打開文件"的作用是顯示一個對話框,并且可以在其中選擇一個圖像文件,為了實現(xiàn)以上功能,所以在Command2_click()事件中添加如下代碼:
Private Sub Command2_Click()
CommonDialog1.showopen '顯示"打開"對話框
Image1.picture=LoadPicture(CommonDialog1.Filename) '在Image控件中顯示圖像
End Sub
程序說明:在程序的運行過程中,單擊按鈕[打開文件]時,Command2_Click()事件就被激活,然后開始執(zhí)行其中的代碼,首先通過CommandDialog1.showopen語句來顯示"打開"對話框,選中一個有效的圖像文件后單擊[確定]按鈕,就可通過Image1.Pcture=LoadPicture(CommonDialog1.Filename)顯示圖像。