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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

會計學1VB程序設計對話框的設計6.1知識要點1、預定義對話框預定義對話框是系統(tǒng)已經(jīng)設計好的對話框,它們可以通過程序執(zhí)行具體的函數(shù)來被顯示。在VisualBasic6.0中,預定義對話框包含輸入對話框和消息框。第1頁/共70頁(1)輸入對話框創(chuàng)建輸入對話框的標準函數(shù)是InputBox函數(shù),該函數(shù)顯示一個接收用戶輸入的對話框,對話框中顯示提示文本,等待用戶輸入或按下按鈕,并返回文本框的內容。InputBox函數(shù)的語法格式為:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])第2頁/共70頁其中:Prompt為必需的字符串表達式參數(shù),提供顯示在對話框中的提示文本。Title為可選字符串表達式參數(shù),提供標題顯示在對話框的標題欄中。Default為可選字符串表達式參數(shù),提供輸入框的缺省輸入文本。Xpos和Ypos都是可選的數(shù)值表達式,成對出現(xiàn),指出對話框左上角的屏幕坐標。InputBox函數(shù)返回文本框中輸入的內容,為字符串類型。第3頁/共70頁(2)消息框創(chuàng)建消息框的標準函數(shù)是MsgBox函數(shù),該函數(shù)在對話框中顯示消息,等待用戶按下按鈕,并返回一個整數(shù)來表示用戶按下了哪一個按鈕。MsgBox函數(shù)的語法格式為:MsgtBox(prompt[,buttons][,title][,helpfile,context])其中:Prompt是必要的字符串表達式參數(shù),作為顯示在對話框中的消息。第4頁/共70頁Buttons是可選參數(shù),該數(shù)值表達式是分別代表顯示按鈕形式、使用圖標樣式、缺省按鈕樣式和對話框模式的四個數(shù)值的和。Title是可選參數(shù)。該字符串表達式作為標題顯示在消息框的標題欄中。MsgBox函數(shù)返回值為1~6之間的一個整數(shù),表示用戶按下了“確定”、“取消”、“終止”、“重試”、“忽略”或“是”按鈕。第5頁/共70頁2、通用對話框(1)通用對話框的使用把“通用對話框(CommonDialog)”控件添加到工具箱中的方法為:①從“工程”菜單中選“部件”命令,或用鼠標右鍵單擊工具箱,選其中“部件”命令,彈出“部件”對話框。第6頁/共70頁②在“部件”對話框的“控件”選項卡中,查找“MicrosoftCommonDialogControl6.0”并將其選中,然后單擊“確定”按鈕?!巴ㄓ脤υ捒颉碧峁┑牧N對話框可以通過設置它的Action屬性或調用對應的六種方法來打開。通用對話框的屬性、方法和含義見表6-1。第7頁/共70頁表6-1通用對話框的屬性、方法和作用

Action屬性值方法所顯示的對話框1ShowOpen“打開”對話框2ShowSave“保存”對話框3ShowColor“顏色”對話框4ShowFont“字體”對話框5ShowPrinter“打印”對話框6ShowHelpWindows幫助引擎第8頁/共70頁(2)“打開”對話框“打開”對話框的功能是指定文件的驅動器、目錄、文件擴展名和文件名。使用“打開”對話框時,通常首先對其進行屬性設置,各屬性含義和設置方法如下:①對話框標題(DialogTitle屬性):設置對話框的標題,缺省值為“打開”。②文件名稱(FileName屬性):設置“打開”對話框中“文件名”區(qū)中的初始文件名,同時也能返回用戶在對話框中選中的文件名。第9頁/共70頁③初始化路徑(InitDir屬性):設置初始目錄,同時也能返回用戶選擇的目錄名。④過濾器(Filter屬性):設置對話框中的文件列表中顯示的文件類型。設置過濾器屬性的格式為:description1|filter1|description2|filter2…其中,description是在“打開”對話框中的文件類型列表框中顯示的字符串。第10頁/共70頁⑤標志(Flags屬性):用來修改每個具體對話框的默認操作。⑥缺省擴展名(DefaultExt屬性):設置在對話框中的缺省擴展名⑦文件最大長度(MaxFileSize屬性):設置文件名的最大字節(jié)數(shù)。第11頁/共70頁⑧過濾器索引(FilterIndex屬性):用索引值來指定對話框使用哪一個過濾器。⑨取消引發(fā)錯誤(CancelError屬性):決定當用戶單擊對話框上的“取消”按鈕時,是否會顯示一個報錯信息的消息框。注:CancelError屬性的設置方法對其他幾種對話框也同樣適用。第12頁/共70頁(3)“保存”對話框“保存”對話框也是在Windows應用程序中經(jīng)常用到的。用ShowSave方法顯示對話框,它同樣能指定文件的驅動器、目錄、文件擴展名和文件名,其使用方法和“打開”對話框的使用方法基本相同。第13頁/共70頁(4)“顏色”對話框“顏色”對話框用來在調色板中選擇顏色,或者是創(chuàng)建并選擇自定義的顏色。要使用“顏色”對話框,通常先設置“通用對話框”控件中與顏色對話相關的屬性,然后使用ShowColor方法顯示對話框,使用Color屬性獲得所選擇的顏色。第14頁/共70頁在“通用對話框”控件中和顏色相關的屬性主要有“顏色”(Color)和“標志”(Flags)兩個?!邦伾保–olor)屬性用來設置用來設置“顏色”對話框的初始顏色,同時它也能返回用戶在對話框中選擇的顏色?!皹酥尽保‵lags)屬性用來決定“顏色”對話框的樣式。第15頁/共70頁(5)“字體”對話框“字體”對話框用來指定字體名稱、大小、顏色和樣式。要使用“字體”對話框,通常先設置“通用對話框”控件中與字體對話相關的屬性,然后使用ShowFont方法來顯示對話框。“和字體相關的屬性主要有Color、FontBold、FontItalic、FontStrikethru、FontUnderline、FontName和FontSize。第16頁/共70頁在使用ShowFont方法之前,一定要把Flags屬性設置為下述常數(shù)之一:cdlCFScreenFonts或1:屏幕字體cdlCFPrinterFonts或2:打印機字體cdlCFBoth或3:既可以是屏幕字體又可以是打印機字體第17頁/共70頁(6)“打印”對話框“打印”對話框可以指定打印輸出方式??梢灾付ū淮蛴№摰姆秶?,打印質量,打印的份數(shù)等等。這個對話框還包含當前打印機的信息,并允許配置或重新安裝缺省打印機。第18頁/共70頁“打印”對話框主要屬性及其具體含義如下:①復制(Copies):決定打印的份數(shù)。②標志(Flags):如果把Flags設置為0,設置“打印”對話框中的“打印范圍”。③起始頁(FromPage)和終止頁(ToPage):用來設置從第幾頁打印到第幾頁。④最?。∕in)和最大(Max):分別用于設置打印的最小和最大頁碼數(shù)。⑤方向(Orientation):用來設定打印的方向(1表示縱向,2表示橫向)。第19頁/共70頁(7)“幫助”對話框“幫助”對話框可以用來制作應用程序的聯(lián)機幫助?!皫椭睂υ捒蛑饕獙傩灾饕校孩賻椭舷挛模℉elpContext):返回或設置幫助文件中的主題的上下文ID,指定要顯示的幫助主題。②幫助命令(HelpCommand):返回或設置聯(lián)機幫助的類型。第20頁/共70頁③幫助鍵(HelpKey):返回或設置幫助主題的關鍵字。④幫助文件(HelpFile):返回或設置幫助文件的路徑及其文件名稱。第21頁/共70頁3、自定義對話框自定義對話框實際是一個用戶自行設計的,用來完成用戶和系統(tǒng)對話的窗體。創(chuàng)建自定義對話框首先要創(chuàng)建一個窗體,然后在窗體上添加必要的控件,完成對話框的各種功能。對話框的BorderStyle屬性通常設置為3—FixedDialog。顯示對話框使用Show方法。對話框分成兩種類型,即模式的和無模式的。第22頁/共70頁模式對話框是在繼續(xù)操作應用程序的其他部分之前必須被關閉的。而無模式對話框允許在對話框與其他窗體之間轉移焦點而不必關閉對話框。

Show方法的兩個可選參數(shù)分別是style和ownerform。如果要顯示的對話框是模式的,則Style取值為1或vbModoal;如果要顯示的對話框是無模式的,則Style取值為0或vbModoaless。Ownerform參數(shù)決定該對話框是作為哪一個窗體的子窗體的。第23頁/共70頁第6章對話框的設計6.1知識要點6.2習題與解答6.3實訓指導6.4測驗題第24頁/共70頁6.2習題與解答1、簡述用VisualBasic創(chuàng)建對話框的幾種方式。答案:用VisualBasic創(chuàng)建對話框有①使用函數(shù)調用預定義對話框②使用通用對話框③自定義對話框三種常用方法。2、試寫出生成以下三個對話框所對應的代碼。第25頁/共70頁圖6-2第26頁/共70頁圖6-1第27頁/共70頁圖6-3第28頁/共70頁答案:(1)a=MsgBox("程序出現(xiàn)嚴重錯誤!",vbInformation+_vbAbortRetryIgnore,"警告")或a=MsgBox("程序出現(xiàn)嚴重錯誤!",66,"警告")第29頁/共70頁(2)b=MsgBox("你好,歡迎使用VisualBasic!"&Chr(13)&Chr(10)&_"想要退出嗎?",vbQuestion+vbYesNoCancel+vbDefaultButton2,"提示")或b=MsgBox("你好,歡迎使用VisualBasic!"&Chr(13)&Chr(10)&_"想要退出嗎?",291,"提示")第30頁/共70頁(3)c=InputBox("請輸入你所在城市的電話區(qū)號號碼:","輸入","0419")3、簡述“通用對話框”控件的使用方法,使用“通用對話框”控件可以顯示哪些對話框,它們分別通過什么方法來實現(xiàn)。第31頁/共70頁答案:要使用“通用對話框(CommonDialog)”,必須先把該控件添加到工具箱中。具體方法為:①從“工程”菜單中選“部件”命令;②在“部件”對話框的“控件”選項卡中,查找“MicrosoftCommonDialogControl6.0”并將其選中,然后單擊“確定”按鈕。然后就可以象使用其他控件一樣式樣該控件了。第32頁/共70頁

使用“通用對話框”控件可以顯示“打開”對話框、“保存”對話框、“顏色”對話框、“字體”對話框、“打印”對話框和Windows幫助引擎對話框。它們分別通過ShowOpen、ShowSave、ShowColor、ShowFont、ShowPrinter

和ShowHelp方法來實現(xiàn)。第33頁/共70頁4、模式對話框和無模式對話框的區(qū)別是什么?答案:模式對話框是在繼續(xù)操作應用程序的其他部分之前必須被關閉的。而無模式對話框允許在對話框與其他窗體之間轉移焦點而不必關閉對話框。當對話框正在工作時,可以在當前應用程序的其他地方繼續(xù)工作。第34頁/共70頁5、為什么要使用自定義對話框?答案:自定義對話框與使用函數(shù)或通過“通用對話框”控件創(chuàng)建的對話框相比,內容和功能都可以有更多的發(fā)揮余地。使用函數(shù)創(chuàng)建的對話框一般都很簡單且功能單一,通常只是用來做簡單的輸入和提示。

Continue…第35頁/共70頁通過“通用對話框”控件只能創(chuàng)建的標準的對話框。而自定義對話框則相對靈活且功能強大,通常會滿足用戶為應用程序的繼續(xù)運行而提供數(shù)據(jù)的需要。第36頁/共70頁第6章對話框的設計6.1知識要點6.2習題與解答6.3實訓指導6.4測驗題第37頁/共70頁6.3實訓指導6.3.1技能訓練目的☆掌握InputBox函數(shù)的使用方法☆掌握MsgBox函數(shù)的使用方法☆掌握“通用對話框”的使用方法☆掌握“自定義對話框”的創(chuàng)建和使用方法第38頁/共70頁6.3.2技能訓練內容【實訓6.1】設計程序,窗體見圖6-4。單擊“輸入”按鈕,則通過輸入對話框分別輸入十個整數(shù)并顯示在“輸入數(shù)據(jù)”后面的文本框中。單擊“排序”按鈕,十個整數(shù)從小到大排序后顯示在“排序后”后面的文本框中。單擊“清除”按鈕,兩個文本框全部清控。單擊“退出”,程序結束。第39頁/共70頁圖6-4第40頁/共70頁提示:在窗體上添加兩個標簽控件(Label1和Label2),它們的Caption屬性分別是“輸入數(shù)據(jù):”和“排序后:”;再添加兩個標簽控件(Label3和Label4),它們的Caption屬性均為空,BorderStyle屬性均設為1;添加四個命令按鈕(Command1、Command2、Command3和Command4),它們的Caption屬性分別為“輸入”、“排序”、“清除”和“退出”。第41頁/共70頁參考代碼:OptionExplicitDima(9)AsIntegerPrivateSubCommand1_Click()DimiAsInteger,sAsStringFori=0To9s=InputBox("請輸入一個整數(shù)","輸入")a(i)=Val(s)Label3.Caption=Label3.Caption+""+sNextiEndSubPrivateSubCommand2_Click()DimiAsInteger,jAsInteger,tAsInteger第42頁/共70頁

Fori=0To8Forj=i+1To9Ifa(j)<a(i)Thent=a(i)a(i)=a(j)a(j)=tEndIfNextjLabel4.Caption=Label4.Caption+""+Str(a(i))NextiLabel4.Caption=Label4.Caption+""+Str(a(i))EndSubPrivateSubCommand3_Click()Label3.Caption=""Label4.Caption=""EndSubPrivateSubCommand4_Click()EndEndSub第43頁/共70頁【實訓6.2】在實訓6.1中,如果程序只要求輸入1~100的整數(shù),其他輸入均看作錯誤。請實現(xiàn)輸入異常時用消息框給出提示。如圖6-5所示。第44頁/共70頁圖6-5第45頁/共70頁提示:在“輸入”按鈕的的單擊事件代碼中加入數(shù)據(jù)合法性判斷。參考代碼:第46頁/共70頁PrivateSubCommand1_Click()DimiAsInteger,sAsString,ansinfAsIntegerFori=0To9s=InputBox("請輸入一個整數(shù)","輸入")DoUntilVal(s)=Int(Val(s))AndVal(s)>=1AndVal(s)<=100ansinf=MsgBox("輸入數(shù)據(jù)不合法,請核對后重新輸入!",49,"錯誤提示")Ifansinf=vbOKThens=InputBox("請輸入一個整數(shù)","輸入")ElseEndEndIfLoopa(i)=Val(s)Label3.Caption=Label3.Caption+""+sNextiEndSub第47頁/共70頁【實訓6.3】設計一個驗證密碼的程序(如圖6-6所示)。假定密碼為“abc”,用戶輸入是否正確請用消息框來給予提示(如圖6-7所示)。如果密碼輸入錯誤,提示是否重新輸入(如圖6-8所示),但只能最多進行三次重新輸入,一旦密碼輸入次數(shù)超過三次,程序給出警告提示(如圖6-9所示),并結束。第48頁/共70頁圖6-6圖6-7第49頁/共70頁圖6-8圖6-9第50頁/共70頁參考代碼:OptionExplicitPrivateSubCommand1_Click()DimansinfAsIntegerStaticiAsIntegerIfText1.Text="abc"ThenForm1.Hideansinf=MsgBox("密碼正確,歡迎進入本程序!",64,"密碼正確")Elseansinf=MsgBox("密碼錯誤,是否重新輸入?",36,"錯誤提示")EndIfIfansinf=6ThenText1.Text=""Text1.SetFocusElseIfansinf=7ThenEndEndIf第51頁/共70頁i=i+1Ifi=3Thenansinf=MsgBox("你是非法用戶,程序即將退出!",16,"嚴重錯誤")EndEndIfEndSubPrivateSubCommand2_Click()Text1.Text=""EndSubPrivateSubCommand3_Click()EndEndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenCallCommand1_ClickEndIfEndSub第52頁/共70頁【實訓6.4】設計程序。實現(xiàn)簡單文本編輯器具有的“打開”、“保存”、“顏色設置”、“字體設置”和“打印”等功能。窗體如圖6-10所示。提示:窗體設計如圖所示,其中包含一個通用對話框(CommonDialog1),一個文本框(Text1)和六個命令按鈕(Command1~Command6)。由于本實訓內容與教材6.2節(jié)例題相似,此處僅提供“打開”功能的實現(xiàn)代碼。第53頁/共70頁圖6-10第54頁/共70頁參考代碼:PrivateSubForm_Load()CommonDialog1.CancelError=FalseEndSubPrivateSubCommand1_Click()CommonDialog1.ShowOpenText1.Text=""OpenCommonDialog1.FileNameForInputAs#1DoWhileNotEOF(1)LineInput#1,inputdataText1.Text=Text1.Text+inputdata+Chr(13)+Chr(10)LoopClose#1EndSub第55頁/共70頁第6章對話框的設計6.1知識要點6.2習題與解答6.3實訓指導6.4測驗題第56頁/共70頁6.4測驗題6.4.1選擇題1.Commondialog1為窗體上一通用對話框,與Commondialog1.Action=3作用相同的語句是

。

A.Commondialog1.ShowColorB.Commondialog1.ShowOpenC.Commondialog1.ShowSaveD.Commondialog1.ShowPrinter答案:A第57頁/共70頁2.執(zhí)行下列語句

a$=inputbox(“請輸入一個整數(shù)”,”輸入整數(shù)”,”123”)單擊確定按鈕后,a$的值為

A.字符串“輸入整數(shù)”

B.整數(shù)123C.空字符串D.字符串“123”答案:D第58頁/共70頁3.通過通用對話框能打開“字體對話框”的方法是

。A.Commondialog1.ShowColorB.Commondialog1.ShowFontC.Commondialog1.ShowSaveD.Commondialog1.ShowOpen答案:B4.下列代碼中錯誤的是

。A.a(chǎn)=MsgBox("")B.MsgBox"信息提示",vbInformation+vbOKCancelC.a(chǎn)=MsgBox"信息提示",vbInformation+vbOKCancelD.MsgBox"“答案:C第59頁/共70頁5.下列為“打開”對話框設置過濾器屬性的語句中正確的是

。A.CommonDialog1.Filter="所有文件|(*.*)|文本文件|(*.txt)"B.CommonDialog1.Filter="所有文件||(*.*)|文本文件||(*.txt)"C.CommonDialog1.Filter="所有文件|*.*|文本文件|*.txt"D.CommonDialog1.Filter="所有文件||*.*|文本文件||*.txt“答案:C第60頁/共70頁6.4.2填空題1.在窗體上有一命令按鈕Button1,其單擊事件代碼如下:

PrivateSubCommand1_Click()DoWhilez<>8x=InputBox("x=")x=Val(x)y=InputBox("y=")y=Val(y)z=InputBox("z=")z=Val(z)x=x+y+zLoopPrintxEndSub程序運行后,若依次輸入1,2,3,6,7,8后,輸出的結果是(1)。答案:21第61頁/共70頁2.在使用ShowFont方法之前,一定要先設置(2)屬性。答案:flags屬性3.在用Show方法顯示自定義對話框時,分別用Show方法后帶(3)和(4)參數(shù)來指定窗體為模式對話框或非模式對話框。答案:(3)VbModal或1(4)VbModaless或0第62頁/共70頁6.4.3編程題1.編寫加法練習測試程序。窗體如圖6-11所示,程序運行自動產(chǎn)生兩個100以內的隨機整數(shù)分別填入兩個標簽中,單擊“計算”按鈕,出現(xiàn)如圖6-12所示的對話框,在對話框中輸入運算結果。確認輸入數(shù)據(jù)后,相繼有提示計算正確或錯誤,“是否繼續(xù)計算?”的對話框出現(xiàn),分別如圖6-13、6-14和6-15,如果選

溫馨提示

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

評論

0/150

提交評論