VisualBasicCommonDialog控件的使用

字號:

使用 CommonDialog 控件
     CommonDialog 控件提供諸如打開和保存文件、設(shè)置打印選項(xiàng)、選擇顏色和字體等操作的一組標(biāo)準(zhǔn)對話框。運(yùn)行 Windows 幫助引擎時(shí),控件還能夠顯示幫助。
     CommonDialog 控件在 Visual Basic 和 Microsoft Windows 動態(tài)連接庫Commdlg.dll 例程之間提供了接口。為了用該控件創(chuàng)建對話框,必須要求Commdlg.dll 在 Microsoft Windows \System 目錄下。
     為了在應(yīng)用程序中使用 CommonDialog 控件,應(yīng)將其添加到窗體上并設(shè)置屬性??丶@示的對話由控件的方法決定。運(yùn)行時(shí),調(diào)用相應(yīng)方法后將顯示對話框或執(zhí)行幫助引擎;設(shè)計(jì)時(shí)在窗體上將 CommonDialog 控件顯示成一個(gè)圖標(biāo)。此圖標(biāo)的大小不能改變。
     CommonDialog 控件可以顯示如下常用對話框:
     “打開”
     “另存為”
     “顏色”
     “字體”
     “打印”
     要使用 CommonDialog 控件
     1. 若未添加 CommonDialog 控件,則應(yīng)從“工程”菜單中選定“部件”,將控件添加到工具箱中。在標(biāo)記對話的“控件”中找到并選定控件,然后單擊“確定”按鈕。
     2. 單擊工具箱中的“CommonDialog”控件并在窗體上繪制該控件。在窗體上繪制 CommonDialog 控件時(shí),控件將自動調(diào)整大小。象 Timer控件一樣,CommonDialog 控件在運(yùn)行時(shí)不可見。
     3. 運(yùn)行時(shí),請適當(dāng)使用下表所列方法顯示需要的對話。
     顯示“打開”和“另存為”對話框
     有了“打開”對話框就可指定驅(qū)動器、目錄、文件擴(kuò)展名和文件名。“另存為”對話框在外觀上與“打開”對話框相同,只是對話框的標(biāo)題和文件名是暗淡的。運(yùn)行時(shí)選定文件并關(guān)閉對話框后,可用 FileName 屬性獲取選定的文件名。
     要顯示“打開”對話框
     1. 指定在“文件類型”列表框中顯示的文件過濾器列表。
     可用下列格式設(shè)置 Filter 屬性:
     description1 | filter1 | description2 | filter2...
     Description 是列表框中顯示的字符串——例如,"Text Files (*.txt)"。Filter 是實(shí)際的文件過濾器─—例如,"*.txt"。每個(gè)description | filter 設(shè)置間必須用管道符號分隔 (|)。
     2. 用 ShowOpen 方法顯示對話框。
     選定文件后可用 FileName 屬性獲取選定文件的名稱。
     對所有公共對話框,當(dāng) CancelError 屬性為 True,而且用戶單擊了對話框的“取消”按鈕時(shí)將生成一個(gè)錯(cuò)誤。在顯示對話框時(shí)捕獲錯(cuò)誤,以此檢測是否按了“取消”按鈕。
     下列代碼顯示“打開”對話框并以選定的文件名為打開文件過程的參數(shù):
     Private Sub mnuFileOpen_Click ()
     'CancelError 為 True。
     On Error GoTo ErrHandler
     '設(shè)置過濾器。
     CommonDialog1.Filter = "All Files (*.*)|*.*|Text _
     Files (*.txt)|*.txt|Batch Files (*.bat)|*.bat"
     '指定缺省過濾器。
     CommonDialog1.FilterIndex = 2
     '顯示“打開”對話框。
     CommonDialog1.ShowOpen
     '調(diào)用打開文件的過程。
     OpenFile (CommonDialog1.FileName)
     Exit Sub
     ErrHandler:
     '用戶按“取消”按鈕。
     Exit Sub
     End Sub
     使用“顏色”對話框
     可用“顏色”對話框在調(diào)色板中選擇顏色,或者創(chuàng)建并選定自定義顏色。運(yùn)行時(shí),選定顏色并關(guān)閉對話框后可用 Color 屬性獲取選定的顏色。
     要顯示“顏色”對話框
     1. 將CommonDialog控件的Flags屬性設(shè)置成Visual Basic常數(shù)cdlCCRGBInit。
     2. 用 ShowColor 方法顯示對話框。
     可用 Color 屬性獲取選定顏色的 RGB 值。單擊“Command1”命令按鈕時(shí),下列代碼將顯示“顏色”對話框:
    Private Sub Command1_Click ()
       '將 Cancel 設(shè)置成 True。
       CommonDialog1.CancelError = True
       On Error GoTo ErrHandler
       '設(shè)置 Flags 屬性。
       CommonDialog1.Flags = cdlCCRGBInit
       '顯示“顏色”對話框。
       CommonDialog1.ShowColor
       '將窗體的背景顏色設(shè)置成選定的'顏色。
       Form1.BackColor = CommonDialog1.Color
       Exit Sub
    ErrHandler:
       '用戶按了“取消”按鈕。
       Exit Sub
    End Sub
     使用“字體”對話框
     “字體”對話框根據(jù)大小、顏色、樣式選擇字體。用戶一旦在“字體”對話框中選定字體后,下列屬性就會包含有關(guān)用戶選項(xiàng)的信息。
     要顯示“字體”對話框
     1. 將 Flags 屬性設(shè)置為下述 Visual Basic 常數(shù)之一:
    cdlCFScreenFonts(屏幕字體)
    cdlCFPrinterFonts(打印機(jī)字體)
    cdlCFBoth(既可以是屏幕字體又可以是打印機(jī)字體)
     警告 在顯示“字體”對話框之前必須將 Flags 屬性設(shè)置為這些數(shù)值之一,否則將發(fā)生字體不存在錯(cuò)誤。