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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18、編寫Form_Load、Command1和Command2的Click事件過程代碼如下:Private Sub Form_Load() CommonDialog1.FontName = 宋體 設(shè)置初始字體為宋體 Flags為256+1,運(yùn)用屏幕字體;出現(xiàn)顏色、效果等選項(xiàng) 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種方式進(jìn)入菜單編輯器:執(zhí)行“工具菜單中的“菜單編輯器命令運(yùn)用熱鍵CtrlE。單擊工具欄中的“菜單編輯器按鈕。在要建立菜單的窗體上單擊鼠標(biāo)右鍵,將彈出一個(gè)菜單,單擊“菜單編輯器命令。留意,只需當(dāng)某個(gè)窗體為活動(dòng)窗體時(shí),才干用上面的方法翻開菜單編輯器窗口。翻開后的菜單編輯器窗口如圖8-14所示。從菜單編輯器窗口可知,菜單編輯器窗口分為三個(gè)部分,即數(shù)據(jù)區(qū)、編輯區(qū)和菜單項(xiàng)顯示區(qū)。1數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)為窗口標(biāo)題欄下面的5行,用來輸入或修正菜單項(xiàng),設(shè)置屬性。其中的主要工程的作用見表8-3

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

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

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

24、來在代碼中援用該菜單控件的名字。5單擊向左或向右箭頭按鈕,可以改動(dòng)該控件的縮進(jìn)級。6假設(shè)需求的話,還可以設(shè)置控件的其他屬性。這一任務(wù)可以在菜單編輯器中做,也可以以后在“屬性窗口中做。7單擊“下一個(gè)按鈕就可以再建一個(gè)菜單控件。或者單擊“插入可以在現(xiàn)有的控件之間添加一個(gè)菜單控件。也可以單擊向上與向下的箭頭按鈕,在現(xiàn)有菜單編輯器的列表框中挪動(dòng)菜單。8假設(shè)窗體一切的菜單控件都已創(chuàng)建,單擊“確定按鈕可封鎖菜單編輯器。9創(chuàng)建的菜單將顯示在窗體上。在設(shè)計(jì)時(shí),單擊一個(gè)菜單標(biāo)題可下拉其相應(yīng)的菜單項(xiàng)。 【例8-4】 利用菜單和對話框設(shè)計(jì)一個(gè)文本編輯器。表8-4 各級菜單設(shè)置Private Sub Color_Cl

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

26、SetText Text1.SelText Text1.SelText = 文本框選中部分清空End SubPrivate Sub Exit_Click() 單擊子菜單Exit時(shí)執(zhí)行該事件過程 EndEnd SubPrivate Sub Font_Click() 單擊子菜單Font時(shí)執(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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論