《對話框和菜單》ppt課件_第1頁
《對話框和菜單》ppt課件_第2頁
《對話框和菜單》ppt課件_第3頁
《對話框和菜單》ppt課件_第4頁
《對話框和菜單》ppt課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、8.1.1 對話框概述1對話框的分類Visual Basic中的對話框分為3種類型,即系統(tǒng)預定義對話框、用戶自定義對話框和通用對話框。預定義對話框是由系統(tǒng)提供的,是Visual Basic預先設計好的、以函數(shù)方式提供的對話框。Visual Basic提供了兩種預定義對話框,即輸入對話框和音訊對話框,前者用InputBox函數(shù)建立,后者用MsgBox函數(shù)建立,詳細用法請參見第2章。系統(tǒng)預定義對話框在運用上有一定的局限性,很多情況下無法滿足需求,用戶可以根據(jù)詳細需求建立本人的對話框。創(chuàng)建用戶自定義對話框普通有兩種方法:一是用戶根據(jù)運用程序的需求,在一個普通窗體上,運用標簽、文本框、單項選擇按鈕、復

2、選框和命令按鈕等控件,經(jīng)過編寫相關(guān)的程序代碼來實現(xiàn)人機交互功能;二是運用Visual Basic系統(tǒng)提供的“對話框模板窗體,經(jīng)過簡單的修正便可創(chuàng)建一個順應于本人程序的自定義對話框。通用對話框是運用Common Dialog控件,編程人員可以輕松地把Windows的規(guī)范對話框參與到本人的運用程序中。8.1.1 對話框概述2對話框的特點1在普通情況下,對話框的邊框是固定的,用戶不能改動其大小。2為了退出對話框,必需單擊其中的某個按鈕,不能經(jīng)過單擊對話框外部的某個地方封鎖對話框。3在對話框中不能有最大化按鈕MaxButton和最小化按鈕MinButton。4對話框不是程序的主要任務區(qū),只是暫時運用,

3、運用終了就封鎖。5對話框中控件的屬性可以在設計階段設置,也可以在運轉(zhuǎn)時經(jīng)過代碼設置或修正控件的屬性。8.1.4 顯示與封鎖“自定義對話框1顯示“自定義對話框可運用窗體對象的Show方法顯示“自定義對話框,經(jīng)過設置不同的參數(shù)可以顯示兩種不同類型的對話框:1方式對話框。方式對話框在焦點可以切換到其他窗體或?qū)υ捒蛑耙笥脩舯匦枳鞒龊魬苑怄i對話框,如單擊“確定按鈕、“取消按鈕或者直接單擊“封鎖按鈕。普通來說,顯示重要信息的對話框不允許用戶無視其存在,因此需求被設置成方式對話框,其顯示方法為:.ShowvbModal 其中vbModal是系統(tǒng)常數(shù),值為12無方式對話框。無方式對話框的焦點可以自在切換

4、到其他窗體或?qū)υ捒?,而無需用戶封鎖當前對話框,其顯示方法為:.Show2封鎖“自定義對話框可運用Hide方法或UnLoad語句來封鎖自定義對話框,其格式為:Me.Hide或.HideUnLoad 。這里的“Me是一個關(guān)鍵字,Me代表正在執(zhí)行的地方提供援用詳細實例,普通指當前窗體。顯示或封鎖的操作會涉及到多重窗體編程,有關(guān)的設計問題請參見本書第2章第2.1節(jié)。 8.2.1 通用對話框控件當要定義的對話框功能較為復雜時,將會破費較多的時間和精神。為此,Visual Basic還提供了一組基于Windows的通用對話框控件CommonDialog,用戶可以利用通用對話框控件在窗體上創(chuàng)建6種對話框,分

5、別為“翻開Open、“另存為Save As、“顏色Color、“字體Font、“打印Printer和“協(xié)助Help對話框。通用對話框是一種ActiveX控件。在普通情況下,啟動Visual Basic后,在工具箱中沒有通用對話框控件。為了把通用對話框控件加到工具箱中,可按如下步驟操作:1單擊“工程菜單的“部件選項,或者用鼠標右鍵單擊工具箱,在彈出的菜單中選擇“部件,翻開“部件對話框,如圖8-3所示。2在對話框中選擇“控件選項卡,然后在控件列表框中選擇“Microsoft Common Dialog Control 6.0。3單擊“確定按鈕,通用對話框即被加到工具箱中。把通用對話框添加到工具箱以

6、后,就可以像運用規(guī)范控件一樣把它添加到窗體上。缺省情況下通用對話框的稱號為CommonDialogn(n為1、2、3)。通用對話框控件可以被設計為顯示6種不同的對話框,每一種對話框?qū)粋€不同的Action屬性值和一個Show方法,其對應關(guān)系如表8-1所示。在設計形狀,將CommonDialog控件添加到窗體上,它以圖標顯示在窗體上,其大小不能改動;在程序運轉(zhuǎn)時,控件本身被隱藏。值得留意的是Action屬性只能在程序中賦值,而不能在屬性窗口進展設置,與此同時,通用對話框僅提供了一個用戶和運用程序的信息交互界面,詳細功能的實現(xiàn)還需編寫相應的程序。下面將引見如何建立Visual Basic提供的幾

7、種主要的通用對話框,即“翻開對話框、“另存為對話框、“顏色對話框、“字體對話框。8.2.2 “翻開/“另存為對話框運用通用對話框控件的ShowOpen方法,或?qū)ction屬性賦值為1,可以在運轉(zhuǎn)時顯示“翻開對話框,如圖8-4所示。運用通用對話框控件的ShowSave方法,或?qū)ction屬性賦值為2,可以在運轉(zhuǎn)時顯示“另存為對話框,如圖8-5所示。“翻開對話框與“另存為對話框為用戶提供了一個規(guī)范的文件翻開與保管的界面。由于這兩種對話框具有許多共同的屬性,故放在一同引見。1對話框標題Dialog Title設置對話框的標題。在默許情況下“翻開對話框的標題是“翻開,“保管對話框的標題是“保管。2

8、Filter屬性用來指定在對話框中顯示的文件類型,用該屬性可以設置多個文件類型,供用戶在對話框的“文件類型的下拉列表中選擇。Filter的屬性值由一對或多對文本字符串組成,每對字符串用管道符“|隔開,在“|前面的部分稱為描畫符,后面的部分普通為通配符和文件擴展名,稱為“過濾器,如*.txt等,各對字符串之間也用管道符隔開。其格式如下:文件闡明字符|類型描畫|文件闡明字符|類型描畫例如,為CommonDialog1. Filter賦值如下:“Word文檔(*.doc)|*.doc|文本文件(*.txt)|*.txt|一切文件(*.*)|*.*3FilterIndex屬性FilterIndex屬性

9、為整型,用于確定選擇了何種文件類型,缺省設置為0,系統(tǒng)取Filter屬性設置中的第一項,相當于FilterIndex屬性值設置為1,在上例中,如選擇“Word文檔(*.doc)可以不設置,也可將FilterIndex屬性值設置為1。4InitDir屬性用來指定對話框的起始目錄。假設沒有設置InitDir,那么顯示當前目錄。例如:CommonDialog1.InitDir =C:zjicmFile5DefaultExt屬性設置對話框中默許文件擴展名。6CancelError屬性CancelError屬性為邏輯型值,表示用戶在與對話框進展信息交換時,按下“取消按鈕時能否產(chǎn)生出錯信息。當該屬性設置為

10、True時,無論何時單擊“取消按鈕,將出現(xiàn)錯誤警告;Err對象的Number屬性值置為32755cdlCancel。當該屬性設置為False缺省時,單擊“取消按鈕,不會出現(xiàn)錯誤警告。留意,上述屬性假設在程序中設置,都必需放在運用Action屬性或用ShowOpen和ShowSave方法調(diào)用“翻開或“另存為對話框的語句之前;否那么該屬性不效。7FileName屬性FileName屬性為字符型,用于前往或設置用戶要翻開或保管的文件全名含途徑,運轉(zhuǎn)時用戶在通用對話框中選擇的文件或輸入的文件就保管在該屬性中,封鎖對話框后,可用FileName屬性得到文件全名。8FileTitle屬性FileTitle

11、屬性為字符型,用于前往或設置用戶要翻開或保管的文件名不含途徑。運轉(zhuǎn)時,用戶選定的文件名或在“文件名文本框中輸入文件名后,F(xiàn)ileTitle屬性為該文件名而FileName屬性那么由文件名及其途徑共同組成。 【例8-1】設計一個圖片閱讀器??梢约虞d顯示圖片,也可保管圖片。1界面設計在窗體上建立一個Picture1控件,用于顯示圖片;建立通用對話框控件CommonDialog1;再建立兩個命令按鈕,如圖8-6所示。Private Sub Command1_Click() CommonDialog1.dialogtitle = 翻開圖片文件 設置對話框標題 CommonDialog1.InitDir

12、 = C:winnt 設置翻開目錄 設置過濾器屬性 CommonDialog1.Filter = 一切文件*.*|*.*|bmp文件|*.bmp|gif文件|*.gif CommonDialog1.filterindex = 2 設置過濾器索引默許屬性為2 CommonDialog1.Action = 1 調(diào)用翻開文件對話框 Picture1.Picture = LoadPicture(CommonDialog1.FileName) 加載所選擇的圖片End SubPrivate Sub Command2_Click() CommonDialog1.dialogtitle = 圖片另存為 設置對

13、話框標題 CommonDialog1.InitDir = C:winnt 設置翻開目錄 設置過濾器屬性 CommonDialog1.Filter = 一切文件*.*|*.*|bmp文件|*.bmp|gif文件|*.gif CommonDialog1.Defaultext = bmp 設置默許屬性為2 CommonDialog1.Action = 2 調(diào)用另存為文件對話框 SavePicture Picture1.Picture, CommonDialog1.FileNameEnd Sub8.2.3 “顏色對話框 運用通用對話框控件的ShowColor方法,或?qū)ction屬性賦值為3,可顯示“

14、顏色對話框,它為用戶提供了一個規(guī)范的調(diào)色板界面,如圖8-8所示,用戶可以運用其中的根本顏色,也可以本人調(diào)色。當用戶選中某一種顏色后,該顏色值長整型賦給Color屬性?!纠?-2】設計一外形程序,經(jīng)過“顏色對話框?qū)ν庑芜M展著色。1界面設計在窗體上建立一個外形控件Shape1,用于顯示各種外形;建立通用對話框控件CommonDialog1;再建立框架,并在其中建立單項選擇按鈕控件數(shù)組,如圖8-9所示。Private Sub Command1_Click() CommonDialog1.ShowColor 翻開顏色對話框 Shape1.FillStyle = 0 實心填充 Shape1.FillCo

15、lor = CommonDialog1.ColorEnd SubPrivate Sub Option1_Click(Index As Integer) Shape1.Shape = Index 選擇外形End Sub 8.2.4 “字體對話框字體對話框 運轉(zhuǎn)時,運用通用對話框控件的ShowFont方法,或?qū)ction屬性賦值為4,可以顯示“字體對話框。在“字體對話框中選定設置并封鎖對話框,讀者可以經(jīng)過運用以下屬性得到所需求的設置對象的字體屬性。1字體格式屬性Font Name:選定字體的稱號FontBold:能否選定了粗體FontItalic:能否選定了斜體FontStrikethru:能否

16、選定了程度刪除線FontUnderline:能否選定了下劃線FontSize:選定字體的大小Color:選定的顏色“字體對話框為用戶提供了一個規(guī)范的進展字體設置的界面如圖8-11所示,經(jīng)過該對話框用戶可以選擇字體、字體款式、字體大小、字體效果以及字體顏色。2Flags屬性Flags屬性確定對話框中顯示字體的類型,在顯示字體對話框前必需設置該屬性,否那么會產(chǎn)生不存在字體的錯誤。常用設置如表8-2所示。運用Or運算符可以為一個對話框設置多個標志,如cdlCFScreenFonts Or cdlCFEffects。其中,要運用FontStrikethru、FontUnderline和Color這3個

17、屬性,必需先將通用對話框的Flags屬性設置為cdlCFEffects或256?!纠?-3】“字體對話框例如。在文本框上顯示文字,利用“字體對話框來設置所顯示文字的字體、字型、大小、顏色等。1界面設計在窗體上添加一個通用對話框CommonDialog1、一個文本框Text1、兩個命令按鈕Command1和Command2,并設置屬性如下:Text1.Multiline=True 多行文本Text1.ScrollBars=2 具有垂直滾動條Command1.Caption=選擇字體Command2.Caption=終了在Text1的屬性窗口內(nèi)設置Text屬性,輸入假設干行要在文本框內(nèi)顯示的文字。

18、編寫Form_Load、Command1和Command2的Click事件過程代碼如下:Private Sub Form_Load() CommonDialog1.FontName = 宋體 設置初始字體為宋體 Flags為256+1,運用屏幕字體;出現(xiàn)顏色、效果等選項 CommonDialog1.Flags = 257End SubPrivate Sub Command1_Click() CommonDialog1.ShowFont 翻開字體對話框 Text1.FontName = CommonDialog1.FontName Text1.FontSize = CommonDialog1.F

19、ontSize Text1.FontBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontUnderline = CommonDialog1.FontUnderline Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.ForeColor = CommonDialog1.ColorEnd SubPrivate Sub Command2_Click() EndEnd Sub8.3.2 菜單編輯器菜單編輯器 Visual

20、 Basic 6.0沒有菜單控件,但提供了建立菜單的菜單編輯器。在Visual Basic 6.0集成開發(fā)環(huán)境中,可以經(jīng)過以下4種方式進入菜單編輯器:執(zhí)行“工具菜單中的“菜單編輯器命令運用熱鍵CtrlE。單擊工具欄中的“菜單編輯器按鈕。在要建立菜單的窗體上單擊鼠標右鍵,將彈出一個菜單,單擊“菜單編輯器命令。留意,只需當某個窗體為活動窗體時,才干用上面的方法翻開菜單編輯器窗口。翻開后的菜單編輯器窗口如圖8-14所示。從菜單編輯器窗口可知,菜單編輯器窗口分為三個部分,即數(shù)據(jù)區(qū)、編輯區(qū)和菜單項顯示區(qū)。1數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)為窗口標題欄下面的5行,用來輸入或修正菜單項,設置屬性。其中的主要工程的作用見表8-3

21、。2編輯區(qū)編輯區(qū)由7個按鈕組成,單擊右箭頭將把選定的菜單向右移一個等級。單擊左箭頭將把選定的菜單向上移一個等級。單擊上箭頭將把選定的菜單項在同級菜單內(nèi)向上挪動一個位置。單擊下箭頭把選定的菜單項在同級菜單內(nèi)向下挪動一個位置。單擊“下一個按鈕將開場一個新的菜單項。單擊“插入按鈕將在某個菜單項前插入一個新的同級空白菜單項。單擊“刪除按鈕將刪除選定的菜單項。3菜單項列表區(qū)菜單項列表區(qū)為菜單編輯器最下面的列表框,該列表框顯示菜單項的分級列表。將子菜單項縮進以指出它們的分級位置或等級。參見圖8-15。在運用Windows運用程序時經(jīng)常會發(fā)現(xiàn),某些菜單項會呈灰色顯示,此時單擊該菜單項沒有任何反映,有時菜單項

22、的標題會發(fā)生改動。這些都可以經(jīng)過在菜單設計和程序代碼中加以控制。1有效性控制一個菜單項能否正常顯示,即該菜單項能否“有效,是由該菜單項的“有效屬性來控制的。只需該屬性設置為True時,單擊該菜單項才會執(zhí)行相應的操作??梢栽谠O計時設置該屬性值選中圖8-15中的“有效復選框,也可以在運轉(zhuǎn)時經(jīng)過執(zhí)行代碼加以改動。2可見性控制只需將菜單項的Visible屬性設置為True,該菜單項才顯示。可以在設計時設置該屬性值選中圖8-15中的“可見復選框,也可以在運轉(zhuǎn)時經(jīng)過執(zhí)行代碼加以改動。3菜單項標志菜單項標志就是在菜單項左邊加上標志闡明該菜單項處于選中形狀。設計時該屬性可以由菜單編輯器中的“復選Checked

23、屬性設置,也可以在屬性窗口的“Checked欄內(nèi)設置。通常情況下,該屬性時在程序運轉(zhuǎn)時動態(tài)地進展設置的。 8.3.3 下拉式菜單下拉式菜單 任何復雜的菜單程序都遵照一樣的設計方法,在窗體中添加菜單的普通方法如下:1選取菜單控件出現(xiàn)的窗體。2從“工具菜單中選取“菜單編輯器;或者在工具欄上單擊“菜單編輯器按鈕,那么翻開“菜單編輯器,如圖8-14所示。3在“標題文本框中,為第一個菜單標題鍵入希望在菜單欄上顯示的文本。假設希望某一字符成為該菜單項的訪問鍵,也可以在該字符前面加上一個“&字符。在菜單中,這一字符會自動加上一條下劃線。菜單標題文本顯示在菜單控件列表框中。4在“稱號文本框中,鍵入將用

24、來在代碼中援用該菜單控件的名字。5單擊向左或向右箭頭按鈕,可以改動該控件的縮進級。6假設需求的話,還可以設置控件的其他屬性。這一任務可以在菜單編輯器中做,也可以以后在“屬性窗口中做。7單擊“下一個按鈕就可以再建一個菜單控件?;蛘邌螕簟安迦肟梢栽诂F(xiàn)有的控件之間添加一個菜單控件。也可以單擊向上與向下的箭頭按鈕,在現(xiàn)有菜單編輯器的列表框中挪動菜單。8假設窗體一切的菜單控件都已創(chuàng)建,單擊“確定按鈕可封鎖菜單編輯器。9創(chuàng)建的菜單將顯示在窗體上。在設計時,單擊一個菜單標題可下拉其相應的菜單項。 【例8-4】 利用菜單和對話框設計一個文本編輯器。表8-4 各級菜單設置Private Sub Color_Cl

25、ick() 單擊子菜單Color時執(zhí)行該事件過程 Commondialog1.Action = 3 翻開顏色對話框 Text1.ForeColor = Commondialog1.Color 改動Text1的文本顏色End SubPrivate Sub Copy_Click() 單擊子菜單Copy時執(zhí)行該事件過程 Clipboard.Clear 剪貼板先清空 Clipboard.SetText Text1.SelText 將選中的文本參與到剪貼板中End SubPrivate Sub cut_Click() 單擊子菜單Cut時執(zhí)行該事件過程 Clipboard.Clear Clipboard.

26、SetText Text1.SelText Text1.SelText = 文本框選中部分清空End SubPrivate Sub Exit_Click() 單擊子菜單Exit時執(zhí)行該事件過程 EndEnd SubPrivate Sub Font_Click() 單擊子菜單Font時執(zhí)行該事件過程 Commondialog1.flags = 257 Commondialog1.Action = 4 翻開字體對話框 Text1.FontName = Commondialog1.FontName Text1.FontSize = Commondialog1.FontSize Text1.FontBold = Commondialog1.FontB

溫馨提示

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

評論

0/150

提交評論