公用對(duì)話框。。 CommonDialog CommonDialog 控件提供一組標(biāo)準(zhǔn)的操作對(duì)話框,進(jìn)行諸如打開(kāi)和保存文件,設(shè)置打印選項(xiàng),以及選擇顏色和字體等操作。通過(guò)運(yùn)行 Windows 幫助引擎控件還能顯示幫助。 一、添加CommonDialog 控件 CommonDialog 控件是一種ActiveX控件,一般情況下,啟動(dòng)VB后,在工具箱中沒(méi)有公用對(duì)話框控件。要使用對(duì)話框控件,首先要在工具箱中添加公用對(duì)話框控件,步驟如下: 1)“工程”----->“部件”: 2)在“部件”對(duì)話框中選擇“控件”選項(xiàng)卡,在控件列表框中選擇“Microsoft common Dialog control 6.0" 3)單擊“確定”,公用對(duì)話框就被添加到工具箱中,如下圖所示: 二、CommonDialog 控件提供的六種標(biāo)準(zhǔn)對(duì)話框 1、顯示文件對(duì)話框 包括“打開(kāi)”和“另存”對(duì)話框。 2、使用“顏色”對(duì)話框 3、使用“字體”對(duì)話框 4、使用“打印”對(duì)話框 5、使用“幫助”對(duì)話框 方法 所顯示的對(duì)話框 ShowOpen 顯示“打開(kāi)”對(duì)話框 ShowSave 顯示“另存為”對(duì)話框 ShowColor 顯示“顏色”對(duì)話框 ShowFont 顯示“字體”對(duì)話框 ShowPrinter 顯示“打印”或“打印選項(xiàng)”對(duì)話框 ShowHelp 調(diào)用 Windows 幫助引擎 下面將分別進(jìn)行介紹。 三、顯示文件對(duì)話框 通過(guò)使用 CommonDialog 控件的 ShowOpen 和 ShowSave 方法可顯示“打開(kāi)”和“另存為”對(duì)話框。 兩個(gè)對(duì)話框均可用以指定驅(qū)動(dòng)器,目錄,文件擴(kuò)展名和文件名。除對(duì)話的標(biāo)題不同外,另存為對(duì)話外觀上與打開(kāi)對(duì)話相似。 (一)、顯示“打開(kāi)”和“另存為”對(duì)話框的步驟: 1、在窗體上建立一個(gè)CommonDialog 控件: 2、在窗體上選擇CommonDialog 控件后單擊右鍵: 3、選擇“屬性”,出現(xiàn)“屬性頁(yè)”: 其中: 1)、對(duì)話框標(biāo)題:是“打開(kāi)”和“另存為”對(duì)話框的標(biāo)題。 2)、文件名稱(FileName):用戶在“打開(kāi)”和“另存為”對(duì)話框中所選定的文件名。 3)、過(guò)濾器(Filter):用于確定文件列表框中所顯示文件的類型。該屬性值可以是一組元素或用“|”符號(hào)分開(kāi)的分別表示不同類型文件的多組元素組成。 4)、初始化路徑(InitDir):初始返回或設(shè)置文件目錄。用于為打開(kāi)或另存為對(duì)話指定初始的目錄。如果此屬性沒(méi)有指定,則使用當(dāng)前目錄。 (二)、實(shí)例 1、界面如下圖所示: 2、屬性設(shè)置: 可以在“屬性頁(yè)”進(jìn)行設(shè)置,也可以在代碼窗口進(jìn)行設(shè)置。 在“屬性頁(yè)”進(jìn)行設(shè)置: 在代碼窗口進(jìn)行設(shè)置: Option Explicit Private Sub Command1_Click() On Error GoTo kk CommonDialog1.ShowOpen Image1.Picture = LoadPicture(CommonDialog1.FileName) kk: End Sub Private Sub Form_Load() CommonDialog1.FileName = "*.bmp" CommonDialog1.Filter = "Pictures(*.bmp)|*.bmp|所有文件(*.*)|*.*" CommonDialog1.InitDir = "d:\tu" End Sub 3、運(yùn)行效果: 實(shí)例2、打開(kāi)、保存文本文件。 1、界面設(shè)計(jì): 2、代碼: Option Explicit Private Sub Command1_Click() Dim str1 As String On Error GoTo kk CD1.Filter = "(*.txt)|*.txt|(*.*)|*.*" CD1.InitDir = "c:\windows" CD1.FileName = "*.txt" CD1.ShowOpen Text1.Text = "" Open CD1.FileName For Input As #1 Do While Not EOF(1) Line Input #1, str1 Text1.Text = Text1.Text & str1 & Chr(13) & Chr(10) Loop Close #1 kk: End Sub Private Sub Command2_Click() On Error GoTo kk CD1.FileName = "無(wú)標(biāo)題.txt" CD1.DefaultExt = "Txt" CD1.Filter = "(*.txt)|*.txt|(*.*)|*.*" CD1.ShowSave Open CD1.FileName For Output As #1 Print #1, Text1.Text Close #1 kk: End Sub 3、運(yùn)行效果: 四、顏色對(duì)話框 通過(guò)使用 CommonDialog 控件的 ShowColor 方法可顯示“顏色”對(duì)話框。“顏色”對(duì)話框用以從調(diào)色板選擇顏色,或是生成和選擇自定義顏色。 如要使用“顏色”對(duì)話框,先設(shè)置 CommonDialog 控件中與顏色對(duì)話相關(guān)的屬性。然后使用 ShowColor 方法顯示對(duì)話框,使用 Color 屬性檢索所選的顏色。 例、為下列文本框設(shè)置前景色。 代碼: Private Sub Command1_Click() CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.Color End Sub 運(yùn)行效果: 五、字體對(duì)話框 1、字體對(duì)話框的屬性: 使用 CommonDialog 控件的 ShowFont 方法可顯示“字體”對(duì)話框?!白煮w”對(duì)話框用以通過(guò)指定字體、大小、顏色、樣式選擇一種字體。 如要使用“字體”對(duì)話框,先設(shè)置 CommonDialog 控件中與字體對(duì)話相關(guān)的屬性。然后使用 ShowFont 方法實(shí)際顯示對(duì)話。一旦在“字體”對(duì)話框中作出了選擇,下列屬性即包括與該選擇有關(guān)的信息: 屬性 決定 Color 選定的顏色。如要使用這個(gè)屬性,必須先將 Flags 屬性設(shè)置為 cdlCFEffects。 FontBold 是否選定了粗體。 FontItalic 是否選定了斜體。 FontStrikethru 是否選定刪除線。如要使用這個(gè)屬性,必須先將 Flags 屬性設(shè)置為 cdlCFEffects。 FontUnderline 是否選定下劃線。如要使用這個(gè)屬性,必須先將 Flags 屬性設(shè)置為 cdlCFEffects。 FontName 選定字體的名稱。 FontSize 選定字體的大小。 Flags屬性: 返回或設(shè)置“字體”對(duì)話框的選項(xiàng)。 語(yǔ)法 object.Flags [= value] Flags 屬性語(yǔ)法有下列部分: 部分 描述 object 對(duì)象表達(dá)式,其值是“應(yīng)用于”列表中的對(duì)象。 value 如“設(shè)置值”中所描述,它為“字體”對(duì)話框指定選項(xiàng)的常數(shù)或值。 設(shè)置值 value 的設(shè)置是: 常數(shù) 值 描述 cdlCFANSIOnly &H400 它指定對(duì)話框只允許選擇 Windows 字符集的字體。如果該標(biāo)志被設(shè)置,就不能選擇僅含符號(hào)的字體。 cdlCFApply &H200 它使對(duì)話框中的“應(yīng)用”按鈕有效。 cdlCFBoth &H3 使對(duì)話框列出可用的打印機(jī)和屏幕字體。hDC 屬性標(biāo)識(shí)與打印機(jī)相關(guān)的設(shè)備描述體。 cdlCFEffects &H100 它指定對(duì)話框允許刪除線,下劃線,以及顏色效果。 cdlCFFixedPitchOnly &H4000 它指定對(duì)話框只能選擇固定間距的字體。 cdlCFForceFontExist &H10000 它指定如果用戶試圖選擇一個(gè)并不存在的字體或樣式,顯示錯(cuò)誤信息框。 cdlCFHelpButton &H4 使對(duì)話框顯示幫助按鈕。 cdlCF例mitSize &H2000 它指定對(duì)話框只能在由 Min 和 Max 屬性規(guī)定的范圍內(nèi)選擇字體大小。 cdlCFNoFaceSel &H80000 沒(méi)有選擇字體名稱。 cdlCFNoSimulations &H1000 它指定對(duì)話框不允許圖形設(shè)備接口 (GDI) 字體模擬。 cdlCFNoSizeSel &H200000 沒(méi)有選擇字體大小。 cdlCFNoStyleSel &H100000 沒(méi)有選擇樣式。 cdlCFNoVectorFonts &H800 它指定對(duì)話框不允許矢量字體選擇。 cdlCFPrinterFonts &H2 使對(duì)話框只列出由 hDC 屬性指定的打印機(jī)支持的字體。 cdlCFScalableOnly &H20000 它指定對(duì)話框只允許選擇可縮放的字體。 cdlCFScreenFonts &H1 使對(duì)話框只列出系統(tǒng)支持的屏幕字體。 cdlCFTTOnly &H40000 它指定對(duì)話框只允許選擇 TrueType 型字體。 cdlCFWYSIWYG &H8000 它指定對(duì)話框只允許選擇在打印機(jī)和屏幕上均可用的字體。如果該標(biāo)志被設(shè)置,則 cdlCFBoth 和 cdlCFScalableOnly 標(biāo)志也應(yīng)該設(shè)置。 注意 在顯示“字體”對(duì)話框前,必須先將 Flags 屬性設(shè)置為 cdlCFScreenFonts,cdlCFPrinterFonts,或 cdlCFBoth。否則,會(huì)發(fā)生字體不存在的錯(cuò)誤。 2、例題: 為下列文本框設(shè)置字體。 代碼: Private Sub Command1_Click() On Error GoTo kk Cd1.Flags = cdlCFBoth Or cdlCFEffects Cd1.ShowFont Text1.FontName = Cd1.FontName Text1.FontSize = Cd1.FontSize Text1.FontBold = Cd1.FontBold Text1.FontItalic = Cd1.FontItalic Text1.FontStrikethru = Cd1.FontStrikethru Text1.ForeColor = Cd1.Color kk: End Sub 運(yùn)行效果: 六、打印對(duì)話框 通過(guò)使用 CommonDialog 控件的 ShowPrinter 方法可顯示“打印”對(duì)話框?!按蛴 睂?duì)話框可用以指定打印輸出方式。可以指定被打印頁(yè)的范圍,打印質(zhì)量,打印的份數(shù)等等。這個(gè)對(duì)話框還包含當(dāng)前安裝的打印機(jī)的信息,并允許配置或重新安裝缺省打印機(jī)。 注意 這個(gè)對(duì)話框并不給打印機(jī)傳送數(shù)據(jù),只是指定希望打印數(shù)據(jù)的情況。如果 PrinterDefault 屬性為 True,可以使用 Printer 對(duì)象按選定的格式打印數(shù)據(jù)。 在運(yùn)行時(shí),一旦“打印”對(duì)話框中作出選擇,下列屬性即包括與該選擇有關(guān)的信息: 屬性 決定 Copies 打印的份數(shù)。 FromPage 開(kāi)始打印頁(yè)。 ToPage 結(jié)束打印頁(yè)。 hDC 所選打印機(jī)的設(shè)備描述體。 七、幫助對(duì)話框 CommonDialog 控件的 ShowHelp 方法可運(yùn)行 Windows 的幫助引擎 (WINHELP.EXE),并顯示由 HelpFile 屬性設(shè)定的一個(gè)幫助文件。 通過(guò) HelpCommand 屬性的設(shè)置,可以告訴該幫助引擎想要哪種類型的聯(lián)機(jī)幫助,比如是上下文相關(guān),或是特定關(guān)鍵字的幫助,等等。 1、HelpCommand 屬性:返回或設(shè)置需要的聯(lián)機(jī)幫助的類型。 語(yǔ)法 object.HelpCommand [= value] HelpCommand 屬性語(yǔ)法有下列部分: 部分 描述 object 對(duì)象表達(dá)式,其值是“應(yīng)用于”列表中的對(duì)象。 value 如“設(shè)置值”所描述,它是指定幫助類型的常數(shù)或值。 設(shè)置值 value 的設(shè)置值是: 常數(shù) 值 描述 cdlHelpCommand &H102& 執(zhí)行幫助宏。 cdlHelpContents &H3& 按照.hpj 文件 [OPTION] 節(jié)中內(nèi)容選項(xiàng)所定義的那樣,顯示幫助內(nèi)容主題。參閱下面的說(shuō)明,以獲得有關(guān)用 Microsoft Help Workshop 4.0X 創(chuàng)建的 Help 文件的信息。 cdlHelpContext &H1& 為特定的上下文顯示幫助。當(dāng)使用這個(gè)設(shè)置時(shí),還必須用 HelpContext 屬性指定一個(gè)上下文。 cdlHelpContextPopup &H8& 在彈出窗口顯示一個(gè)特定的幫助主題,該主題由.hpj 文件 [MAP] 節(jié)中定義的上下文編號(hào)來(lái)標(biāo)識(shí)。 CdlHelpContextPopup &H9& 確保 WinHelp 顯示正確的幫助文件。如果正確的幫助文件正被顯示,則不出現(xiàn)任何動(dòng)作。如果被顯示的不是正確的幫助文件,則 Winhelp 將打開(kāi)正確的文件。 cdlHelpHelpOnHelp &H4& 為使用幫助應(yīng)用程序本身顯示幫助。 cdlHelpIndex &H3& 顯示指定的幫助文件的索引。應(yīng)用程序應(yīng)將該值用于只有一個(gè)索引的幫助文件。 cdlHelpKey &H101& 為特定的關(guān)鍵字顯示幫助。當(dāng)使用這個(gè)設(shè)置時(shí),還必須用 HelpKey 屬性指定一個(gè)關(guān)鍵字。 cdlHelpPartialKey &H105& 顯示在關(guān)鍵字列表中能找到的一個(gè)與由 dwData 參數(shù)所傳送的關(guān)鍵字精確匹配的主題。如果存在多個(gè)匹配的話,則顯示帶有已找到的在“轉(zhuǎn)到”列表框中列出的哪些主題的“搜索”對(duì)話框。如果沒(méi)有匹配的,則顯示“搜索”對(duì)話框。為了顯示沒(méi)有傳送關(guān)鍵字的“搜索”對(duì)話框,可使用一個(gè)指向空字符串的長(zhǎng)指針。 cdlHelpQuit &H2& 通知幫助應(yīng)用程序,所指定的幫助文件不再使用。 cdlHelpSetContents &H5& 當(dāng)用戶按 F1 鍵時(shí)確定顯示哪個(gè)內(nèi)容的主題。 cdlHelpSetIndex &H5& 將由 HelpContext 屬性指定的上下文,設(shè)置為由 HelpFile 屬性指定的幫助文件當(dāng)前的索引。直到用戶訪問(wèn)另一個(gè)幫助文件,該索引一直保持為當(dāng)前。該值僅用于有多個(gè)索引的幫助文件。 說(shuō)明 用于 HelpCommand 屬性常數(shù)的這些值在對(duì)象瀏覽器的 Microsoft CommonDialog 控件 (MSComDlg) 對(duì)象庫(kù)中列出。 cdlHelpContents常數(shù)在用“Microsoft Help Workshop Version 4.0X”創(chuàng)建的“幫助”文件中不起作用。你可以用值“&HB”得到同樣的效果。請(qǐng)參閱“HelpCommand 屬性示例”中一個(gè)可運(yùn)行的代碼示例。 數(shù)據(jù)類型 Integer 2、HelpFile 屬性:確定 Microsoft Windows Help 文件的路徑和文件名,應(yīng)用程序使用這個(gè)文件顯示 Help 或聯(lián)機(jī)文檔。 語(yǔ)法 object.HelpFile[ = filename] HelpFile 屬性語(yǔ)法有以下部分: 部分 描述 object 對(duì)象表達(dá)式,其值是“應(yīng)用于”列表中的一個(gè)對(duì)象。 Filename 字符串表達(dá)式,確定應(yīng)用程序中 Microsoft Windows Help 文件的路徑和文件名。 說(shuō)明 如果為應(yīng)用程序創(chuàng)建了一個(gè) Windows Help 文件并設(shè)置了應(yīng)用程序 HelpFile 屬性,當(dāng)按 F1 鍵時(shí),Visual Basic 自動(dòng)調(diào)用 Help。無(wú)論對(duì)活動(dòng)的控件還是活動(dòng)的窗體,如果在 HelpContextID 屬性中有一個(gè)上下文號(hào),則 Help 顯示對(duì)應(yīng)當(dāng)前 Help 上下文的主題;否則顯示主要目錄屏幕。 |
|
來(lái)自: 華燈初放l > 《visual basic 6.0》