使用 CommonDialog 控件
CommonDialog 控件提供諸如打開和保存文件、設置打印選項、選擇顏色和字體等操作的一組標准對話框。運行 Windows 幫助引擎時,控件還能夠顯示幫助。
CommonDialog 控件在 Visual Basic 和 Microsoft Windows 動態連接庫Commdlg.dll 例程之間提供了接口。為了用該控件創建對話框,必須要求Commdlg.dll 在 Microsoft Windows \System 目錄下。
為了在應用程序中使用 CommonDialog 控件,應將其添加到窗體上並設置屬性。控件顯示的對話由控件的方法決定。運行時,調用相應方法後將顯示對話框或執行幫助引擎;設計時在窗體上將 CommonDialog 控件顯示成一個圖標。此圖標的大小不能改變。
CommonDialog 控件可以顯示如下常用對話框:
“打開”
“另存為”
“顏色”
“字體”
“打印”
要使用 CommonDialog 控件
1. 若未添加 CommonDialog 控件,則應從“工程”菜單中選定“部件”,將控件添加到工具箱中。在標記對話的“控件”中找到並選定控件,然後單擊“確定”按鈕。
2. 單擊工具箱中的“CommonDialog”控件並在窗體上繪制該控件。在窗體上繪制 CommonDialog 控件時,控件將自動調整大小。象 Timer控件一樣,CommonDialog 控件在運行時不可見。
3. 運行時,請適當使用下表所列方法顯示需要的對話。
顯示“打開”和“另存為”對話框
有了“打開”對話框就可指定驅動器、目錄、文件擴展名和文件名。“另存為”對話框在外觀上與“打開”對話框相同,只是對話框的標題和文件名是暗淡的。運行時選定文件並關閉對話框後,可用 FileName 屬性獲取選定的文件名。
要顯示“打開”對話框
1. 指定在“文件類型”列表框中顯示的文件過濾器列表。
可用下列格式設置 Filter 屬性:
description1 | filter1 | description2 | filter2...
Description 是列表框中顯示的字符串——例如,"Text Files (*.txt)"。Filter 是實際的文件過濾器─—例如,"*.txt"。每個description | filter 設置間必須用管道符號分隔 (|)。
2. 用 ShowOpen 方法顯示對話框。
選定文件後可用 FileName 屬性獲取選定文件的名稱。
對所有公共對話框,當 CancelError 屬性為 True,而且用戶單擊了對話框的“取消”按鈕時將生成一個錯誤。在顯示對話框時捕獲錯誤,以此檢測是否按了“取消”按鈕。
下列代碼顯示“打開”對話框並以選定的文件名為打開文件過程的參數:
Private Sub mnuFileOpen_Click () 'CancelError 為 True。 On Error GoTo ErrHandler '設置過濾器。 CommonDialog1.Filter = "All Files (*.*)|*.*|Text _ Files (*.txt)|*.txt|Batch Files (*.bat)|*.bat" '指定缺省過濾器。 CommonDialog1.FilterIndex = 2 '顯示“打開”對話框。 CommonDialog1.ShowOpen '調用打開文件的過程。 OpenFile (CommonDialog1.FileName) Exit Sub ErrHandler: '用戶按“取消”按鈕。 Exit Sub End Sub
使用“顏色”對話框
可用“顏色”對話框在調色板中選擇顏色,或者創建並選定自定義顏色。運行時,選定顏色並關閉對話框後可用 Color 屬性獲取選定的顏色。
要顯示“顏色”對話框
1. 將CommonDialog控件的Flags屬性設置成Visual Basic常數cdlCCRGBInit。
2. 用 ShowColor 方法顯示對話框。
可用 Color 屬性獲取選定顏色的 RGB 值。單擊“Command1”命令按鈕時,下列代碼將顯示“顏色”對話框: