




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第14章對(duì)話框程序設(shè)計(jì)
14.1
對(duì)話框
14.2
自定義對(duì)話框
14.3
通用對(duì)話框
14.4
文件對(duì)話框
14.5
“顏色”對(duì)話框
14.6
“字體”對(duì)話框
14.7
“打印”對(duì)話框
14.8
調(diào)用Windows幫助對(duì)話框上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)14.1
對(duì)話框
14.1.1
消息對(duì)話框(MsgBox)
14.1.2
數(shù)據(jù)輸入對(duì)話框(InputBox)
上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
對(duì)話框一般不能改變窗口的大小,無(wú)論是要求用戶輸入適當(dāng)?shù)臄?shù)據(jù),還是顯示出及時(shí)的信息給用戶,都可以使用對(duì)話框來(lái)管理程序與用戶的交互。對(duì)話框作為一種特殊類型的窗體對(duì)象,可用以下3種方法建立:
?使用MsgBox或InputBox函數(shù)的代碼可以創(chuàng)建預(yù)定義對(duì)話框。
?使用標(biāo)準(zhǔn)窗體或自定義已存在的對(duì)話框創(chuàng)建自定義對(duì)話框。
?使用CommonDialog控件可創(chuàng)建標(biāo)準(zhǔn)對(duì)話框,如“打印”和“打開(kāi)文件”。
14.1.1
消息對(duì)話框(MsgBox)【格式】<變量>=MsgBox(<消息內(nèi)容>[,<對(duì)話框類型>[,<對(duì)話框標(biāo)題>]])
第14章對(duì)話框程序設(shè)計(jì)上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
【功能】MsgBox函數(shù)在對(duì)話框中顯示信息,等待用戶單擊按鈕,并返回一個(gè)整數(shù)以表明用戶單擊了哪個(gè)按鈕。
【說(shuō)明】①<消息內(nèi)容>:指定在對(duì)話框中出現(xiàn)的文本。在<消息內(nèi)容>中使用硬回車符Chr(13)可以使文本換行。對(duì)話框的高度和寬度隨著<消息內(nèi)容>的增加而增加,最多可有1024個(gè)字符。
②<對(duì)話框類型>:指定對(duì)話框中出現(xiàn)的按鈕和圖標(biāo),一般有3個(gè)參數(shù)。
③<對(duì)話框標(biāo)題>:指定對(duì)話框的標(biāo)題。
MsgBox()返回的值指明了在對(duì)話框中選擇哪一個(gè)按鈕。若不需要返回值,則可以使用MsgBox的命令形式:上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)【格式】MsgBox<消息內(nèi)容>[,<對(duì)話框類型>[,<對(duì)話框標(biāo)題>]]
消息對(duì)話框中各參數(shù)的選擇難以記憶,用戶使用時(shí)只需根據(jù)提示做出選擇,即可得到相應(yīng)的代碼。14.1.2
數(shù)據(jù)輸入對(duì)話框(InputBox)1.函數(shù)格式【格式】<變量>=InputBox(<提示內(nèi)容>[,<對(duì)話框標(biāo)題>],[<默認(rèn)內(nèi)容>])【功能】
InputBox函數(shù)顯示一個(gè)能接收用戶信息的對(duì)話框,并返回用戶在此對(duì)話框中輸入的信息。上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)【說(shuō)明】①<提示內(nèi)容>:指定在對(duì)話框中出現(xiàn)的文本。在<提示內(nèi)容>中使用硬回車符Chr(13)可以使文本換行。對(duì)話框的高度和寬度隨<提示內(nèi)容>的增加而增加,最多可有1024個(gè)字符。
②<對(duì)話框標(biāo)題>:指定對(duì)話框的標(biāo)題。
③<默認(rèn)內(nèi)容>:可以指定輸入框的文本框中顯示的默認(rèn)文本。如果單擊“確定”按鈕,文本框中的文本將返回到變量中,若用戶單擊“取消”按鈕,返回的將是一個(gè)零長(zhǎng)度的字符串。注意:如果省略了某些可選項(xiàng),必須加入相應(yīng)的逗號(hào)分隔符。
2.輸入對(duì)話框的應(yīng)用上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)14.2
自定義對(duì)話框
14.2.2自定義對(duì)話框
14.2.1對(duì)話框的種類上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)14.2
自定義對(duì)話框
14.2.1
對(duì)話框的種類
自定義對(duì)話框就是用戶所創(chuàng)建的含有控件的窗體,這些控件包括命令按鈕、選取按鈕和文本框——它們可以為應(yīng)用程序接收信息。通過(guò)設(shè)置屬性值來(lái)自定義窗體的外觀。也可以編寫在運(yùn)行時(shí)顯示對(duì)話框的代碼。
在使用Windows應(yīng)用程序時(shí)常遇到兩種不同類型的對(duì)話框:模式對(duì)話框和無(wú)模式對(duì)話框。
1.模式與無(wú)模式的概念
模式對(duì)話框,必須在可以繼續(xù)操作應(yīng)用程序的其他部分之前被關(guān)閉(隱藏或卸載)。如果一個(gè)對(duì)話框在可以切換到其他窗體或?qū)υ捒蛑g要求先單擊“確定”或“取消”,則它就是模式的。上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
顯示重要信息的對(duì)話框應(yīng)當(dāng)是模式的,也就是說(shuō),在繼續(xù)做下去之前,要求用戶應(yīng)當(dāng)先關(guān)上對(duì)話框或者對(duì)它的消息做出響應(yīng)。無(wú)模式的對(duì)話框允許在對(duì)話框與其他窗體之間轉(zhuǎn)移焦點(diǎn)而不用關(guān)閉對(duì)話框。當(dāng)對(duì)話框正在顯示時(shí),可以在當(dāng)前應(yīng)用程序的其他地方繼續(xù)工作。無(wú)模式對(duì)話框較少使用,一般用于顯示頻繁使用的命令與信息。2.模式與無(wú)模式對(duì)話框的使用
利用“公共對(duì)話框”所打開(kāi)的對(duì)話框以及使用MsgBox函數(shù)或InputBox函數(shù)建立的對(duì)話框都是模式的。對(duì)于自行設(shè)計(jì)的對(duì)話框窗體,可以使用窗體的Show方法,來(lái)決定對(duì)話框窗體的顯示模式。上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
【格式】
窗體對(duì)象.Show[Style[,owner]]
Style參數(shù)表示模式風(fēng)格,是一個(gè)整數(shù)。其取值如下表所示。值常量說(shuō)明1vbModal模式2vbModeless無(wú)模式當(dāng)Style參數(shù)缺省時(shí),表示無(wú)模式。
例如:將frmAbout作為模式對(duì)話框顯示,使用代碼:
frmAbout.Show
vbModal上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
例如:將frmAbout作為無(wú)模式對(duì)話框顯示,使用代碼:
frmAbout.Show
如果窗體顯示為模式對(duì)話框,則只有對(duì)話框關(guān)閉之后,在Show方法后的代碼才能執(zhí)行。而當(dāng)窗體被顯示為無(wú)模式對(duì)話框時(shí),在該窗體顯示出來(lái)以后,Show方法后的代碼緊接著就會(huì)執(zhí)行。
owner參數(shù)可用來(lái)指定窗體的父子關(guān)系。可將某個(gè)窗體名傳給這個(gè)參數(shù),使得這個(gè)窗體成為新窗體的擁有者。
例如:將frmAbout顯示為frmMain的無(wú)模式子窗體,使用代碼:
frmAbout.Show
vbModeless,frmMain上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)注意:在Show方法中使用owner參數(shù),可以確保對(duì)話框在它的父窗體最小化時(shí)它也最小化,或者在其父窗體關(guān)閉時(shí)它也卸載。14.2.2
自定義對(duì)話框
有時(shí)用戶需要經(jīng)常運(yùn)行一個(gè)程序,因此就可以建立一個(gè)運(yùn)行程序的對(duì)話框?qū)⑹惯\(yùn)行這個(gè)程序更加方便。一般情況下,只需保留對(duì)話框左上角的控制菜單按鈕即可,下面通過(guò)一個(gè)例子來(lái)自定義一個(gè)運(yùn)行程序?qū)υ捒颉?/p>
在本例中我們將用到一個(gè)Shell函數(shù),此函數(shù)用來(lái)運(yùn)行一個(gè)程序。上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
【格式】
Shell(Command
string,WindowStyle)
Commandstring參數(shù)代表所要執(zhí)行的文件名。如果程序不在當(dāng)前目錄下,應(yīng)該包括完整的路徑名。如果程序沒(méi)有包括.bat、.com或.exe等擴(kuò)展名,則擴(kuò)展名默認(rèn)為.exe。
WindowStyle參數(shù)決定程序所在窗口的風(fēng)格。下表列出了WindowStyle值及其對(duì)應(yīng)的風(fēng)格。值窗口風(fēng)格1,5,9正常方式并擁有焦點(diǎn)2(缺省)最小化方式并擁有焦點(diǎn)3最大化方式并擁有焦點(diǎn)4,8正常方式并無(wú)焦點(diǎn)6,7最小化方式并無(wú)焦點(diǎn)上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
14.3通用對(duì)話框
14.3.2使用“公共對(duì)話框”
14.3.1添加“公共對(duì)話框”控件上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)14.3.1
添加“公共對(duì)話框”控件
“公共對(duì)話框”控件屬于VB專業(yè)版和企業(yè)版所特有的ActiveX控件,一般位于文件“C:\Windows\System\Comdlg32.ocx”中,名稱為“MicrosoftCommonDialogControl6.0”,添加方法是:在“部件”對(duì)話框中,選定所需的文件,按“確定”按鈕即可將“公共對(duì)話框”控件添加到控件工具箱中。
14.3
通用對(duì)話框
“公共對(duì)話框”(CommonDialog)控件為用戶提供了一組標(biāo)準(zhǔn)的系統(tǒng)對(duì)話框,可以使用它進(jìn)行打開(kāi)或保存文件、設(shè)置打印選項(xiàng)、選擇各種顏色以及選擇字體等的操作。另外還可以通過(guò)調(diào)用Windows幫助引擎來(lái)顯示應(yīng)用程序的幫助。上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
在程序運(yùn)行時(shí),“公共對(duì)話框”可以顯示一個(gè)對(duì)話框或是執(zhí)行幫助引擎,所顯示的對(duì)話框由“控件”的方法決定。公共對(duì)話框均采用Show方法明確對(duì)話框的類型。共有6種方法來(lái)制定相應(yīng)的對(duì)話框,如下表所示。
在應(yīng)用程序中使用“公共對(duì)話框”控件,需要將它添加到窗體中。和ImageList一樣,它在程序運(yùn)行時(shí)也看不見(jiàn),因此可以將它放置在窗體的任何位置。
14.3.2
使用“公共對(duì)話框”上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
每種對(duì)話框都有自己特殊的屬性,這些屬性既可以在“屬性”(右擊對(duì)話框控件,選擇“屬性”命令)中設(shè)置,也可以在代碼中設(shè)置,還可以在“屬性頁(yè)”對(duì)話框中設(shè)置(在“屬性窗口”中選擇“(自定義)”,再單擊右側(cè)的“…”按鈕,就會(huì)出現(xiàn)“屬性頁(yè)”對(duì)話框)。名稱功能ShowOpen顯示文件打開(kāi)對(duì)話框ShowSave顯示文件存儲(chǔ)對(duì)話框ShowColor顯示顏色對(duì)話框ShowFont顯示字體對(duì)話框ShowPrinter顯示打印對(duì)話框ShowHelp顯示W(wǎng)indows幫助對(duì)話框上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)14.4文件對(duì)話框
14.4.2“另存為”對(duì)話框
14.4.1使用“打開(kāi)”對(duì)話框上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
打開(kāi)文件是Windows應(yīng)用程序(例如Office)中的常用操作。“打開(kāi)”對(duì)話框可以用來(lái)指定要打開(kāi)文件所在的驅(qū)動(dòng)器、文件夾及其文件名、文件類型。運(yùn)行時(shí)選定文件并關(guān)閉對(duì)話框后,可用FileName屬性得到文件所在的驅(qū)動(dòng)器、文件夾及其文件名、文件類型。其中各屬性描述如下表所示。14.4.1
使用“打開(kāi)”對(duì)話框14.4
文件對(duì)話框
在通用對(duì)話框中,文件對(duì)話框是有關(guān)文件操作的對(duì)話框,這里包括“打開(kāi)”對(duì)話框和“另存為”對(duì)話框,用于打開(kāi)和存儲(chǔ)系統(tǒng)中的某類文件。上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)屬性描述對(duì)話框標(biāo)題(DialogTitle)用于設(shè)置對(duì)話框的標(biāo)題,默認(rèn)值為“打開(kāi)”文件名稱(FileName)用于設(shè)置對(duì)話框中“文件名稱”的默認(rèn)值,并返回用戶所選中的文件名初始化路徑(InitDir)用于設(shè)置初始的文件目錄,并返回用戶所選擇的目錄。若不設(shè)置該屬性,系統(tǒng)默認(rèn)當(dāng)前目錄過(guò)濾器(Filter)用于設(shè)置顯示文件的類型,格式為:描述|通配符,若需設(shè)置多項(xiàng)時(shí),可以用管道符(|)隔開(kāi)。如:AllFile(*.*)|*.*|TextFile(*.txt)|*.txt標(biāo)志(Flags)用于設(shè)置對(duì)話框的一些選項(xiàng),可以是多個(gè)值的組合上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)缺省擴(kuò)展名(DefaultExt)為該對(duì)話框返回或設(shè)置缺省的文件擴(kuò)展名,當(dāng)保存一個(gè)沒(méi)有擴(kuò)展名的文件時(shí),自動(dòng)給該文件指定由DefaultExt屬性指定的擴(kuò)展名文件最大長(zhǎng)度(MaxFileSize)用于設(shè)置被打開(kāi)文件的最大長(zhǎng)度,取值范圍:1~2k,缺省值為260過(guò)濾器索引(FilterIndex)設(shè)置“打開(kāi)”或“另存為”對(duì)話框中缺省過(guò)濾器的索引。當(dāng)時(shí)用Filter屬性為“打開(kāi)”或“另存為”對(duì)話框指定過(guò)濾器時(shí),該屬性指定缺少的過(guò)濾器。對(duì)于所定義的第一個(gè)過(guò)濾器其索引是1上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
“另存為”對(duì)話框用來(lái)指定文件所要保存的位置、文件名及其類型。使用“另存為”對(duì)話框首先應(yīng)在窗體中增加“公共對(duì)話框”控件,然后在“屬性頁(yè)”對(duì)話框中設(shè)置屬性,其中屬性頁(yè)的設(shè)置同上。使用CommonDialog控件的ShowSave方法來(lái)顯示“另存為”對(duì)話框:
控件名.ShowSave14.4.2“另存為”對(duì)話框上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
顏色”對(duì)話框用來(lái)在調(diào)色板中選擇顏色,或者建立自定義顏色,如下圖所示。運(yùn)行時(shí)選定顏色并關(guān)閉對(duì)話框后,可用Color屬性得到選定的顏色。其中屬性介紹如下表所示。屬性描述顏色(Color)用于設(shè)置初始顏色,并可返回用戶所選擇的顏色標(biāo)志(Flags)設(shè)置對(duì)話框的一些顏色
使用CommonDialog控件的ShowColor方法來(lái)顯示“顏色”對(duì)話框:
控件名.ShowColor14.5“顏色”對(duì)話框上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)14.6“字體”對(duì)話框
“字體”對(duì)話框設(shè)置并返回所用字體的名字、樣式、大小、效果及顏色。“字體”對(duì)話框的屬性如下表所示。屬性說(shuō)明Color選定的顏色。如要使用這個(gè)屬性,必須先將Flags屬性設(shè)置為cdlCFEffects或256FontBold是否選定了粗體FontItalic是否選定了斜線FontStrikethru是否選定刪除線。如要使用這個(gè)屬性,必須先將Flags屬性設(shè)置為cdlCFEffects或256FontUnderline是否選定下劃線。如要使用這個(gè)屬性,必須先將Flags屬性設(shè)置為cdlCFEffects或256FontName選定字體的名稱FontSize選定字體的大小上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
注意:必須將Flags屬性設(shè)為下列常數(shù)之一與其他選項(xiàng)之和:
cdlCFScreenFonts或1(屏幕字體)
cdlCFPinterFonts或2(打印機(jī)字體)
cdlCFBoth或3(=1+2兩種字體皆有)例如:視為259(=256+3是cdlCFEffects常數(shù)與3之和,在對(duì)話框中將出現(xiàn)顏色、效果等選項(xiàng))。
b.最后使用CommonDialog控件的ShowFont方法來(lái)顯示“字體”對(duì)話框:
控件名.ShowFont上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
“打印”對(duì)話框可以設(shè)置打印輸出的方法,如打印范圍、打印份數(shù)、打印質(zhì)量等其他打印屬性。此外,對(duì)話框還顯示當(dāng)前安裝的打印機(jī)的信息,允許用戶重新設(shè)置缺省打印機(jī)。其中各屬性對(duì)應(yīng)描述如下表所示。14.7“打印”對(duì)話框上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
使用CommonDialog控件的ShowPrinter方法來(lái)顯示“打印”對(duì)話框:控件名.ShowPrinter屬性描述復(fù)制(Copise)用于設(shè)置打印的份數(shù)標(biāo)志(Flags)設(shè)置對(duì)話框的一些選項(xiàng)。當(dāng)屬性為256時(shí),將顯示“打印設(shè)置"對(duì)話框最?。∕in)用于設(shè)置可打印的最小頁(yè)數(shù)最大(Max)用于設(shè)置可打印的最大頁(yè)數(shù)起始頁(yè)(Frompage)用于要打印的起始頁(yè)數(shù)終止頁(yè)(Topage)用于要打印的終止頁(yè)數(shù)方向(Orientation)用于確定以縱向或橫向模式打印文檔上一頁(yè)下一頁(yè)目錄結(jié)束本節(jié)
“公共對(duì)話框”控件的另一個(gè)用途是使用ShowHelp方法調(diào)用Windows幫助引擎。其屬性介紹如下表所示。屬性描述幫助上下文(HelpContext)用于設(shè)置或返回請(qǐng)求的幫助主題上下文ID。與HelpCommand屬性一起使用該屬性(設(shè)置HelpCommand=cdlHelp
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030奢侈品牌限量版禮品包裝溢價(jià)機(jī)制與消費(fèi)心理分析
- 2025-2030垃圾焚燒發(fā)電廠脫硫技術(shù)創(chuàng)新與運(yùn)營(yíng)優(yōu)化方案
- 基于2025年工業(yè)互聯(lián)網(wǎng)平臺(tái)網(wǎng)絡(luò)隔離技術(shù)的電力系統(tǒng)安全防護(hù)報(bào)告
- 人體解剖學(xué)動(dòng)靜脈課件
- 2025年幼兒園保育教育評(píng)估指南考試試題及答案
- 2025年醫(yī)療器械經(jīng)營(yíng)體系相關(guān)質(zhì)量管理制度試題及參考答案
- 人體結(jié)構(gòu)概述課件
- 2025年某某油田股份有限公司公司員工教育培訓(xùn)管理規(guī)定考試試題(附答案)
- 2025年大學(xué)選修課向越野理論測(cè)試題及答案
- 荊州市高三聯(lián)考數(shù)學(xué)試卷
- 固體礦產(chǎn)鉆探工真題模擬匯編(共634題)
- 第34屆全國(guó)中學(xué)生物理競(jìng)賽決賽試題及答案
- 智慧消防項(xiàng)目申報(bào)書
- 高級(jí)職稱評(píng)定工作總結(jié)(3篇)
- 干部人事檔案管理業(yè)務(wù)知識(shí)培訓(xùn)課件
- 軟件項(xiàng)目開(kāi)發(fā)需求規(guī)格說(shuō)明書(標(biāo)準(zhǔn)模板)
- GB/T 9797-2022金屬及其他無(wú)機(jī)覆蓋層鎳、鎳+鉻、銅+鎳和銅+鎳+鉻電鍍層
- GB/T 32288-2015電力變壓器用電工鋼鐵心
- FZ/T 01008-2008涂層織物耐熱空氣老化性的測(cè)定
- 精神科病歷書寫精神科病歷書寫及范例
- 《乒乓裁判規(guī)則規(guī)程》考試題庫(kù)(附答案)
評(píng)論
0/150
提交評(píng)論