VB程序設(shè)計第6章對話框的設(shè)計_第1頁
VB程序設(shè)計第6章對話框的設(shè)計_第2頁
VB程序設(shè)計第6章對話框的設(shè)計_第3頁
VB程序設(shè)計第6章對話框的設(shè)計_第4頁
VB程序設(shè)計第6章對話框的設(shè)計_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 第6章 對話框的設(shè)計第6章 對話框的設(shè)計6.1 知識要點6.2 習(xí)題與解答6.3 實訓(xùn)指導(dǎo)6.4 測驗題6.1知識要點1、預(yù)定義對話框 預(yù)定義對話框是系統(tǒng)已經(jīng)設(shè)計好的對話框,它們可以通過程序執(zhí)行具體的函數(shù)來被顯示。在Visual Basic 6.0中,預(yù)定義對話框包含輸入對話框和消息框。(1)輸入對話框創(chuàng)建輸入對話框的標(biāo)準(zhǔn)函數(shù)是InputBox函數(shù),該函數(shù)顯示一個接收用戶輸入的對話框,對話框中顯示提示文本,等待用戶輸入或按下按鈕,并返回文本框的內(nèi)容。InputBox函數(shù)的語法格式為:InputBox (prompt,title,default,xpos,ypos,helpfile,conte

2、xt)其中:Prompt為必需的字符串表達式參數(shù),提供顯示在對話框中的提示文本。Title為可選字符串表達式參數(shù),提供標(biāo)題顯示在對話框的標(biāo)題欄中。Default為可選字符串表達式參數(shù),提供輸入框的缺省輸入文本。Xpos和Ypos都是可選的數(shù)值表達式,成對出現(xiàn),指出對話框左上角的屏幕坐標(biāo)。InputBox函數(shù)返回文本框中輸入的內(nèi)容,為字符串類型。(2)消息框創(chuàng)建消息框的標(biāo)準(zhǔn)函數(shù)是MsgBox函數(shù),該函數(shù)在對話框中顯示消息,等待用戶按下按鈕,并返回一個整數(shù)來表示用戶按下了哪一個按鈕。MsgBox函數(shù)的語法格式為:MsgtBox(prompt,buttons,title,helpfile,conte

3、xt)其中:Prompt是必要的字符串表達式參數(shù),作為顯示在對話框中的消息。Buttons是可選參數(shù),該數(shù)值表達式是分別代表顯示按鈕形式、使用圖標(biāo)樣式、缺省按鈕樣式和對話框模式的四個數(shù)值的和。Title是可選參數(shù)。該字符串表達式作為標(biāo)題顯示在消息框的標(biāo)題欄中。MsgBox函數(shù)返回值為16之間的一個整數(shù),表示用戶按下了“確定”、“取消”、“終止”、“重試”、“忽略”或“是”按鈕。2、通用對話框(1)通用對話框的使用 把“通用對話框(Common Dialog)”控件添加到工具箱中的方法為:從“工程”菜單中選“部件”命令,或用鼠標(biāo)右鍵單擊工具箱,選其中“部件”命令,彈出“部件”對話框。在“部件”對

4、話框的“控件”選項卡中,查找“Microsoft Common Dialog Control 6.0”并將其選中,然后單擊“確定”按鈕。 “通用對話框”提供的六種對話框可以通過設(shè)置它的Action屬性或調(diào)用對應(yīng)的六種方法來打開。通用對話框的屬性、方法和含義見表6-1。表6-1 通用對話框的屬性、方法和作用 Action屬性值方 法所顯示的對話框1ShowOpen“打開”對話框2ShowSave“保存”對話框3ShowColor“顏色”對話框4ShowFont“字體”對話框5ShowPrinter“打印”對話框6ShowHelpWindows幫助引擎(2)“打開”對話框“打開”對話框的功能是指定

5、文件的驅(qū)動器、目錄、文件擴展名和文件名。使用“打開”對話框時,通常首先對其進行屬性設(shè)置,各屬性含義和設(shè)置方法如下:對話框標(biāo)題(DialogTitle屬性):設(shè)置對話框的標(biāo)題,缺省值為“打開”。文件名稱(FileName屬性):設(shè)置“打開”對話框中“文件名”區(qū)中的初始文件名,同時也能返回用戶在對話框中選中的文件名。初始化路徑(InitDir屬性):設(shè)置初始目錄,同時也能返回用戶選擇的目錄名。過濾器(Filter屬性):設(shè)置對話框中的文件列表中顯示的文件類型。設(shè)置過濾器屬性的格式為:description1 | filter1 | description2 | filter2其中,descript

6、ion是在“打開”對話框中的文件類型列表框中顯示的字符串。標(biāo)志(Flags屬性):用來修改每個具體對話框的默認(rèn)操作。缺省擴展名(DefaultExt屬性):設(shè)置在對話框中的缺省擴展名文件最大長度(MaxFileSize屬性):設(shè)置文件名的最大字節(jié)數(shù)。過濾器索引(FilterIndex屬性):用索引值來指定對話框使用哪一個過濾器。取消引發(fā)錯誤(CancelError屬性):決定當(dāng)用戶單擊對話框上的“取消”按鈕時,是否會顯示一個報錯信息的消息框。注:CancelError屬性的設(shè)置方法對其他幾種對話框也同樣適用。(3)“保存”對話框“保存”對話框也是在Windows應(yīng)用程序中經(jīng)常用到的。用Show

7、Save方法顯示對話框,它同樣能指定文件的驅(qū)動器、目錄、文件擴展名和文件名,其使用方法和“打開”對話框的使用方法基本相同。(4)“顏色”對話框“顏色”對話框用來在調(diào)色板中選擇顏色,或者是創(chuàng)建并選擇自定義的顏色。要使用“顏色”對話框,通常先設(shè)置“通用對話框”控件中與顏色對話相關(guān)的屬性,然后使用ShowColor方法顯示對話框,使用Color屬性獲得所選擇的顏色。在“通用對話框”控件中和顏色相關(guān)的屬性主要有“顏色”(Color)和“標(biāo)志”(Flags)兩個?!邦伾保–olor)屬性用來設(shè)置用來設(shè)置“顏色”對話框的初始顏色,同時它也能返回用戶在對話框中選擇的顏色?!皹?biāo)志”(Flags)屬性用來決定

8、“顏色”對話框的樣式。(5)“字體”對話框“字體”對話框用來指定字體名稱、大小、顏色和樣式。要使用“字體”對話框,通常先設(shè)置“通用對話框”控件中與字體對話相關(guān)的屬性,然后使用ShowFont方法來顯示對話框。“和字體相關(guān)的屬性主要有Color、FontBold、FontItalic、FontStrikethru、FontUnderline、FontName和FontSize。在使用ShowFont方法之前,一定要把Flags屬性設(shè)置為下述常數(shù)之一:cdlCFScreenFonts或1:屏幕字體cdlCFPrinterFonts或2:打印機字體cdlCFBoth或3:既可以是屏幕字體又可以是打印

9、機字體(6)“打印”對話框“打印”對話框可以指定打印輸出方式??梢灾付ū淮蛴№摰姆秶?,打印質(zhì)量,打印的份數(shù)等等。這個對話框還包含當(dāng)前打印機的信息,并允許配置或重新安裝缺省打印機?!按蛴 睂υ捒蛑饕獙傩约捌渚唧w含義如下:復(fù)制(Copies):決定打印的份數(shù)。標(biāo)志(Flags):如果把Flags設(shè)置為0,設(shè)置“打印”對話框中的“打印范圍”。起始頁(FromPage)和終止頁(ToPage):用來設(shè)置從第幾頁打印到第幾頁。最小(Min)和最大(Max):分別用于設(shè)置打印的最小和最大頁碼數(shù)。方向(Orientation):用來設(shè)定打印的方向(1表示縱向,2表示橫向)。(7)“幫助”對話框“幫助”對話框

10、可以用來制作應(yīng)用程序的聯(lián)機幫助。“幫助”對話框主要屬性主要有:幫助上下文(HelpContext): 返回或設(shè)置幫助文件中的主題的上下文ID,指定要顯示的幫助主題。幫助命令(HelpCommand):返回或設(shè)置聯(lián)機幫助的類型。幫助鍵(HelpKey):返回或設(shè)置幫助主題的關(guān)鍵字。幫助文件(HelpFile):返回或設(shè)置幫助文件的路徑及其文件名稱。3、自定義對話框自定義對話框?qū)嶋H是一個用戶自行設(shè)計的,用來完成用戶和系統(tǒng)對話的窗體。創(chuàng)建自定義對話框首先要創(chuàng)建一個窗體,然后在窗體上添加必要的控件,完成對話框的各種功能。對話框的BorderStyle屬性通常設(shè)置為3FixedDialog。顯示對話框使

11、用Show方法。對話框分成兩種類型,即模式的和無模式的。模式對話框是在繼續(xù)操作應(yīng)用程序的其他部分之前必須被關(guān)閉的。而無模式對話框允許在對話框與其他窗體之間轉(zhuǎn)移焦點而不必關(guān)閉對話框。Show方法的兩個可選參數(shù)分別是style和ownerform。如果要顯示的對話框是模式的,則Style取值為1或vbModoal;如果要顯示的對話框是無模式的,則Style取值為0或vbModoaless。Ownerform參數(shù)決定該對話框是作為哪一個窗體的子窗體的。第6章 對話框的設(shè)計6.1 知識要點6.2 習(xí)題與解答6.3 實訓(xùn)指導(dǎo)6.4 測驗題6.2習(xí)題與解答1、簡述用Visual Basic創(chuàng)建對話框的幾種

12、方式。答案: 用Visual Basic創(chuàng)建對話框有使用函數(shù)調(diào)用預(yù)定義對話框使用通用對話框自定義對話框三種常用方法。2、試寫出生成以下三個對話框所對應(yīng)的代碼。圖6-2圖6-1圖6-3答案:(1)a = MsgBox(程序出現(xiàn)嚴(yán)重錯誤!, vbInformation + _vbAbortRetryIgnore, 警告)或a = MsgBox(程序出現(xiàn)嚴(yán)重錯誤!, 66, 警告)(2)b = MsgBox(你好,歡迎使用Visual Basic! & Chr(13) & Chr(10) & _想要退出嗎?, vbQuestion + vbYesNoCancel + vbDefaultButton2

13、, 提示)或b = MsgBox(你好,歡迎使用Visual Basic! & Chr(13) & Chr(10) & _想要退出嗎?, 291, 提示)(3)c = InputBox(請輸入你所在城市的電話區(qū)號號碼:, 輸入, 0419)3、簡述“通用對話框”控件的使用方法,使用“通用對話框”控件可以顯示哪些對話框,它們分別通過什么方法來實現(xiàn)。答案:要使用“通用對話框(Common Dialog)”,必須先把該控件添加到工具箱中。具體方法為:從“工程”菜單中選“部件”命令;在“部件”對話框的“控件”選項卡中,查找“Microsoft Common Dialog Control 6.0”并將其

14、選中,然后單擊“確定”按鈕。然后就可以象使用其他控件一樣式樣該控件了。 使用“通用對話框”控件可以顯示“打開”對話框、“保存”對話框、“顏色”對話框、“字體”對話框、“打印”對話框和Windows幫助引擎對話框。它們分別通過ShowOpen、 ShowSave、 ShowColor、 ShowFont、 ShowPrinter 和ShowHelp方法來實現(xiàn)。4、模式對話框和無模式對話框的區(qū)別是什么? 答案:模式對話框是在繼續(xù)操作應(yīng)用程序的其他部分之前必須被關(guān)閉的。而無模式對話框允許在對話框與其他窗體之間轉(zhuǎn)移焦點而不必關(guān)閉對話框。當(dāng)對話框正在工作時,可以在當(dāng)前應(yīng)用程序的其他地方繼續(xù)工作。5、為什

15、么要使用自定義對話框?答案:自定義對話框與使用函數(shù)或通過“通用對話框”控件創(chuàng)建的對話框相比,內(nèi)容和功能都可以有更多的發(fā)揮余地。使用函數(shù)創(chuàng)建的對話框一般都很簡單且功能單一,通常只是用來做簡單的輸入和提示。 Continue通過“通用對話框”控件只能創(chuàng)建的標(biāo)準(zhǔn)的對話框。而自定義對話框則相對靈活且功能強大,通常會滿足用戶為應(yīng)用程序的繼續(xù)運行而提供數(shù)據(jù)的需要。第6章 對話框的設(shè)計6.1 知識要點6.2 習(xí)題與解答6.3 實訓(xùn)指導(dǎo)6.4 測驗題6.3實訓(xùn)指導(dǎo)6.3.1技能訓(xùn)練目的 掌握InputBox函數(shù)的使用方法 掌握MsgBox函數(shù)的使用方法 掌握“通用對話框”的使用方法 掌握“自定義對話框”的創(chuàng)建

16、和使用方法6.3.2技能訓(xùn)練內(nèi)容【實訓(xùn)6.1】設(shè)計程序,窗體見 圖6-4。單擊“輸入”按鈕,則通過輸入對話框分別輸入十個整數(shù)并顯示在“輸入數(shù)據(jù)”后面的文本框中。單擊“排序”按鈕,十個整數(shù)從小到大排序后顯示在“排序后”后面的文本框中。單擊“清除”按鈕,兩個文本框全部清控。單擊“退出”,程序結(jié)束。圖6-4提示:在窗體上添加兩個標(biāo)簽控件(Label1和Label2),它們的Caption屬性分別是“輸入數(shù)據(jù):”和“排序后:”;再添加兩個標(biāo)簽控件(Label3和Label4),它們的Caption屬性均為空,BorderStyle屬性均設(shè)為1;添加四個命令按鈕(Command1 、Command2、

17、Command3和Command4),它們的Caption屬性分別為“輸入”、“排序”、“清除”和“退出”。參考代碼:Option ExplicitDim a(9) As IntegerPrivate Sub Command1_Click() Dim i As Integer, s As String For i = 0 To 9 s = InputBox(請輸入一個整數(shù), 輸入) a(i) = Val(s) Label3.Caption = Label3.Caption + + s Next iEnd SubPrivate Sub Command2_Click() Dim i As Inte

18、ger, j As Integer, t As Integer For i = 0 To 8 For j = i + 1 To 9 If a(j) = 1 And Val(s) = 100 ansinf = MsgBox(輸入數(shù)據(jù)不合法,請核對后重新輸入!, 49, 錯誤提示) If ansinf = vbOK Then s = InputBox(請輸入一個整數(shù), 輸入) Else End End If Loop a(i) = Val(s) Label3.Caption = Label3.Caption + + s Next iEnd Sub【實訓(xùn)6.3】設(shè)計一個驗證密碼的程序(如圖6-6所示

19、)。假定密碼為“abc”,用戶輸入是否正確請用消息框來給予提示(如圖6-7所示)。如果密碼輸入錯誤,提示是否重新輸入(如圖6-8所示),但只能最多進行三次重新輸入,一旦密碼輸入次數(shù)超過三次,程序給出警告提示(如圖6-9所示),并結(jié)束。圖6-6圖6-7圖6-8圖6-9參考代碼:Option ExplicitPrivate Sub Command1_Click() Dim ansinf As Integer Static i As Integer If Text1.Text = abc Then Form1.Hide ansinf = MsgBox(密碼正確,歡迎進入本程序!, 64, 密碼正確)

20、 Else ansinf = MsgBox(密碼錯誤,是否重新輸入?, 36, 錯誤提示) End If If ansinf = 6 Then Text1.Text = Text1.SetFocus ElseIf ansinf = 7 Then End End Ifi = i + 1 If i = 3 Then ansinf = MsgBox(你是非法用戶,程序即將退出!, 16, 嚴(yán)重錯誤) End End IfEnd SubPrivate Sub Command2_Click()Text1.Text = End SubPrivate Sub Command3_Click()EndEnd S

21、ubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call Command1_Click End IfEnd Sub【實訓(xùn)6.4】設(shè)計程序。實現(xiàn)簡單文本編輯器具有的“打開”、“保存”、“顏色設(shè)置”、“字體設(shè)置”和“打印”等功能。窗體如圖6-10所示。提示:窗體設(shè)計如圖所示,其中包含一個通用對話框(CommonDialog1),一個文本框(Text1)和六個命令按鈕(Command1 Command6)。由于本實訓(xùn)內(nèi)容與教材6.2節(jié)例題相似,此處僅提供“打開”功能的實現(xiàn)代碼。圖6-10參考代碼:Priv

22、ate Sub Form_Load()CommonDialog1.CancelError = FalseEnd SubPrivate Sub Command1_Click()CommonDialog1.ShowOpenText1.Text = Open CommonDialog1.FileName For Input As #1Do While Not EOF(1)Line Input #1, inputdataText1.Text = Text1.Text + inputdata + Chr(13) + Chr(10)LoopClose #1End Sub第6章 對話框的設(shè)計6.1 知識要點

23、6.2 習(xí)題與解答6.3 實訓(xùn)指導(dǎo)6.4 測驗題6.4測驗題6.4.1選擇題1Commondialog1為窗體上一通用對話框,與Commondialog1.Action=3作用相同的語句是 。 ACommondialog1.ShowColor BCommondialog1.ShowOpen CCommondialog1.ShowSave DCommondialog1.ShowPrinter答案:A2執(zhí)行下列語句 a$=inputbox(“請輸入一個整數(shù)”,”輸入整數(shù)”,”123”)單擊確定按鈕后,a$的值為 。 A字符串“輸入整數(shù)” B整數(shù)123 C空字符串 D字符串“123”答案:D3通過通

24、用對話框能打開“字體對話框”的方法是 。 ACommondialog1.ShowColor BCommondialog1.ShowFont CCommondialog1.ShowSave DCommondialog1.ShowOpen答案:B4下列代碼中錯誤的是 。Aa=MsgBox ()BMsgBox 信息提示, vbInformation + vbOKCancelCa=MsgBox 信息提示, vbInformation + vbOKCancelDMsgBox “答案:C5下列為“打開”對話框設(shè)置過濾器屬性的語句中正確的是 。ACommonDialog1.Filter = 所有文件|(*.

25、*)|文本文件|(*.txt)BCommonDialog1.Filter = 所有文件| (*.*)|文本文件| (*.txt)CCommonDialog1.Filter = 所有文件|*.*|文本文件|*.txtDCommonDialog1.Filter = 所有文件|*.*|文本文件|*.txt“答案:C6.4.2填空題1在窗體上有一命令按鈕Button1,其單擊事件代碼如下: Private Sub Command1_Click() Do While z 8 x = InputBox(x=) x = Val(x) y = InputBox(y=) y = Val(y) z = Input

26、Box(z=) z = Val(z) x = x + y + z Loop Print xEnd Sub程序運行后,若依次輸入1,2,3,6,7,8后,輸出的結(jié)果是 (1) 。答案:212在使用ShowFont方法之前,一定要先設(shè)置 (2) 屬性。答案:flags屬性 3在用Show方法顯示自定義對話框時,分別用Show方法后帶 (3) 和 (4) 參數(shù)來指定窗體為模式對話框或非模式對話框。答案:(3)VbModal或1 (4)VbModaless或06.4.3編程題編寫加法練習(xí)測試程序。窗體如圖6-11所示,程序運行自動產(chǎn)生兩個100以內(nèi)的隨機整數(shù)分別填入兩個標(biāo)簽中,單擊“計算”按鈕,出現(xiàn)如圖6-12所示的對話框,在對話框中輸入運算結(jié)果。確認(rèn)輸入數(shù)據(jù)后,相繼有提示計算正確或錯誤,“是否繼續(xù)計算?”的對話框出現(xiàn),分別如圖6-13、6-14和6-15,如果選擇繼續(xù),程序繼續(xù)隨機出題,選擇“否”,則程序給出你答題情況統(tǒng)計并給出相應(yīng)的分?jǐn)?shù),如圖6-16。圖6-11圖6-12圖6-13圖6-14圖6-15圖6-16參考答案Opti

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論