第六講對話框和菜單程序設計_第1頁
第六講對話框和菜單程序設計_第2頁
第六講對話框和菜單程序設計_第3頁
第六講對話框和菜單程序設計_第4頁
第六講對話框和菜單程序設計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第六講 對話框和菜單(ci dn)浙江(zh jin)理工大學信息學院姜旭升2012-5-8共二十六頁第7章 對話框和菜單(ci dn)程序設計 7.1 用戶(yngh)自定義對話框 7.2 通用對話框控件CommonDialog 7.3 菜單設計 7.4 小 結(jié) 共二十六頁對話框 對話框是一類窗體;對話框與窗體的區(qū)別:對話框一般只完成特定的用戶交互任務。如登錄、選擇文件、顏色、顯示(xinsh)應用程序版本版權信息等;對話框一般以焦點獨占(Modal)的方式運行,在完成對話任務前,不允許轉(zhuǎn)移到其它窗體;對話框一般不包含菜單、工具欄等應用程序命令;對話框一般沒有最大、最小化按鈕,有時也沒有控制

2、菜單。共二十六頁使用(shyng)對話框模板窗體創(chuàng)建對話框 通過“工程”菜單中的“添加(tin ji)窗體”命令,即可打開“添加窗體”對話框。圖7-1 “添加窗體”對話框 圖7-2 “登錄”對話框 共二十六頁顯示(xinsh)與關閉“自定義”對話框 顯示“自定義”對話框窗體名.Show vbModal(其中vbModal是系統(tǒng)常數(shù),值為1)關閉“自定義”對話框Me.Hide 或 .HideUnLoad 。這里的“Me”是一個關鍵字,Me代表正在執(zhí)行的地方(dfng)提供引用具體實例,一般指當前窗體。共二十六頁通用(tngyng)對話框控件CommonDialog Windows系統(tǒng)(xtng)

3、為常用的任務設計了“通用對話框”控件。該控件并非為VB所獨有。而是任何應用程序均可使用的ActiveX類型控件。通用對話框任務:“打開”(Open)、“另存為”(Save As)、“顏色”(Color)、“字體”(Font)、“打印”(Printer)“幫助”(Help)對話框。共二十六頁通用(tngyng)對話框控件CommonDialog的使用將通用(tngyng)對話框控件添加到控件箱(在控件箱上右擊選擇部件) 共二十六頁打開(d ki)通用對話框 在運行階段,通過(tnggu)調(diào)用通用對話框的方法或?qū)ction屬性設置為相關值,具體設置如表7-1所示。表7-1 打開通用對話框的方法與

4、Action屬性設置 類 型Action屬性方法無對話框0“打開”對話框1ShowOpen“另存為”對話框2ShowSave“顏色”對話框3ShowColor“字體”對話框4ShowFont“打印”對話框5ShowPrinter“幫助”對話框6ShowHelp注意: 通用對話框僅提供了一個用戶和應用程序的信息交互界面,具體功能的實現(xiàn)還需編寫相應的程序。 共二十六頁7.2.2 通用(tngyng)對話框的屬性頁 圖7-5 “屬性(shxng)頁”對話框 共二十六頁7.2.3 “打開(d ki)”/“另存為”對話框 打開方法:ShowOpen,或?qū)ction屬性賦值為1。ShowSave,或?qū)

5、ction屬性賦值為2。 1對話框標題(Dialog Title)2Filter屬性(文件類型過濾)Filter屬性設置的格式為:文件說明(shumng)字符|類型描述|文件說明(shumng)字符|類型描述 例如:Jpeg圖像(*.jpeg)|*.jpg|位圖文件(*.bmp)|*.bmp|所有文件(*.*)|*.*共二十六頁7.2.3 “打開(d ki)”/“另存為”對話框3FilterIndex屬性FilterIndex屬性為整型,用于確定選擇了何種文件類型,缺省設置為0,系統(tǒng)取Filter屬性設置中的第一項。4InitDir屬性InitDir屬性為字符型,用于確定初始化打開或保存的路徑

6、。例如:CommonDialog1.InitDir =D:LCSFile如果不設置初始化路徑或指定的路徑不存在(cnzi),系統(tǒng)則默認為本程序文件所在的文件夾。5DefaultExt屬性DefaultExt屬性為字符型,用于確定保存文件的缺省擴展名。共二十六頁7.2.3 “打開(d ki)”/“另存為”對話框6CancelError屬性 CancelError屬性為邏輯型值,表示用戶(yngh)在與對話框進行信息交換時,按下“取消”按鈕時是否產(chǎn)生出錯信息。 當該屬性設置為True時,無論何時單擊“取消”按鈕,將出現(xiàn)錯誤警告;Err對象的Number屬性值置為32755(cdlCancel)。

7、當該屬性設置為False(缺?。r,單擊“取消”按鈕,不會出現(xiàn)錯誤警告。注意:上述屬性若在程序中設置,都必須放在使用Action屬性或用ShowOpen和ShowSave方法調(diào)用“打開”或“另存為”對話框的語句之前;否則該屬性不效。共二十六頁7.2.3 “打開(d ki)”/“另存為”對話框7FileName屬性(shxng) FileName屬性為字符型,用于返回或設置用戶要打開或保存的文件全名(含路徑),運行時用戶在通用對話框中選擇的文件或輸入的文件就保存在該屬性中,關閉對話框后,可用FileName屬性得到文件全名。8FileTitle屬性 FileTitle屬性為字符型,用于返回或設置

8、用戶要打開或保存的文件名(不含路徑)。運行時,用戶選定的文件名或在“文件名”文本框中輸入文件名后,F(xiàn)ileTitle屬性為該文件名(而FileName屬性則由文件名及其路徑共同組成)。 共二十六頁7.2.4 “顏色(yns)”對話框 使用通用對話框控件的ShowColor方法,或?qū)ction屬性(shxng)賦值為3,可顯示“顏色”對話框,它為用戶提供了一個標準的調(diào)色板界面,如圖7-12所示,用戶可以使用其中的基本顏色,也可以自己調(diào)色。當用戶選中某一種顏色后,該顏色值(長整型)賦給Color屬性。 圖7-14 畫板程序的運行結(jié)果 共二十六頁7.2.5 “字體(zt)”對話框 運行時,使用通用

9、對話框控件的ShowFont方法(fngf),或?qū)ction屬性賦值為4,可以顯示“字體”對話框。在“字體”對話框中選定設置并關閉對話框,讀者可以通過使用以下屬性得到所需要的設置對象的字體屬性。1字體格式屬性 Font Name:選定字體的名稱 FontBold:是否選定了粗體 FontItalic:是否選定了斜體 FontStrikethru:是否選定了水平刪除線 FontUnderline:是否選定了下劃線 FontSize:選定字體的大小 Color:選定的顏色 “字體”對話框為用戶提供了一個標準的進行字體設置的界面,通過該對話框用戶可以選擇字體、字體樣式、字體大小、字體效果以及字體顏

10、色。 共二十六頁7.2.5 “字體(zt)”對話框2Flags屬性 Flags屬性確定對話框中顯示字體的類型(lixng),在顯示字體對話框前必須設置該屬性,否則會產(chǎn)生不存在字體的錯誤。常用設置如表7-2所示。使用Or運算符可以為一個對話框設置多個標志,如cdlCFScreenFonts Or cdlCFEffects。其中,要使用FontStrikethru、FontUnderline和Color這3個屬性,必須先將通用對話框的Flags屬性設置為cdlCFEffects或256。 表7-2 “字體”對話框的Flags屬性 系統(tǒng)常數(shù)值說明CdlCFScreenFonts&H1使對話框只列出系

11、統(tǒng)支持的屏幕字體CdlCFPrinterFonts&H2使對話框只列出打印機支持的字體CdlCFBoth&H3使對話框列出可用的打印機和屏幕字體CdlCFEffects&H100指定對話框允許刪除線、下劃線以及顏色效果共二十六頁字體(zt)對話框Private Sub Command2_Click() CmDLG.Flags = cdlCFBoth Or cdlCFEffects CmDLG.FontName = Text1.FontName CmDLG.ShowFont Text1.FontBold = CmDLG.FontBold Text1.FontItalic = CmDLG.Font

12、Italic Text1.FontName = CmDLG.FontName Text1.FontSize = CmDLG.FontSize Text1.ForeColor = CmDLG.Color Text1.FontStrikethru = CmDLG.FontStrikethruEnd Sub共二十六頁7.2.6 其他(qt)對話框 Visual Basic 6.0中除以上介紹的4種通用對話框外,還提供了“打印”和“幫助”對話框。 “打印”對話框可以設置打印輸出的方法,如打印范圍、打印份數(shù)以及(yj)當前安裝的打印機信息等。“幫助”對話框則通過使用ShowHelp方法調(diào)用Windows

13、系統(tǒng)的幫助引擎。這兩種對話框的使用方法與前面介紹的類似,讀者可以參考Visual Basic有關資料,得到進一步的說明。 共二十六頁7.3.1 菜單(ci dn)的類型 窗體控制菜單;下拉菜單;快捷菜單。每一個(y )菜單項就是一個(y )控件。菜單控件只能識別一個(y )Click事件,當用鼠標或鍵盤選中某個菜單控件時,將引發(fā)該事件。 共二十六頁菜單(ci dn)編輯器設計(shj)時右擊窗體可啟動“菜單編輯器”最多可設置6級子菜單。共二十六頁7.3.2 菜單(ci dn)編輯器 Visual Basic 6.0沒有菜單控件,但提供了建立菜單的菜單編輯器。在Visual Basic 6.0集

14、成開發(fā)環(huán)境中,選擇“工具”菜單中的“菜單編輯器”選項,可以進入菜單編輯器,為窗體編輯菜單 。 在圖7-18中,各選項的含義如下:(1) 標題:運行時各項菜單的字面解釋,即在菜單中顯示的自定義文本。(2) 名稱:菜單名稱,用來惟一識別該菜單,也是運行時單擊該菜單項所執(zhí)行的事件過程的名稱。例如:標題為“打開文件”、名稱為“Fopen”,程序運行時單擊菜單項“打開文件”所執(zhí)行的事件過程為Fopen_Click。(3) 索引:如果建立菜單數(shù)組,必須使用該屬性。(4) 快捷鍵:在該下拉列表框中可以為調(diào)用事件過程確定快捷鍵,缺省的表項是None。快捷鍵將顯示在菜單項后,如“打開文件 Ctrl+O”。 (5

15、) 復選:設置下拉菜單項的Checked屬性。當該屬性值為True時,在下拉菜單項前面顯示一個復選標志。若某菜單項有復選標志,再選時希望無復選標志,除在設計時設置該菜單項具有(jyu)復選功能外,還必須在相應事件過程中寫入如下代碼:菜單名.Checked= Not 菜單名.Checked共二十六頁7.3.2 菜單(ci dn)編輯器(6) 有效:設置下拉菜單項的Enabled屬性,缺省值為True。若要在程序運行時使某個菜單項不可選,可設置為False。(7) 可見,設置下拉菜單項的Visible屬性,缺省值為True。若要在程序運行時使某個菜單項不可見,可設置為False。(8) 選項移動按

16、鈕:“左移”、“右移”按鈕可以使編輯器窗口選定的菜單項左邊減少或增加4個點,若某菜單項比它上1行的菜單項多4個點,則該選項作為上1菜單項的子菜單(Visual Basic允許(ynx)最多6級菜單)?!吧弦啤卑粹o可以使編輯器窗口選定的菜單項移動到上1行菜單項的上邊,“下移”按鈕可以使編輯器窗口選定的菜單項移動到下1行菜單項的下邊。(9) “下一個”按鈕:單擊該按鈕,光標從當前菜單項移到下一項。如果當前菜單項是最后一項,則加入一個新的菜單項。(10) “插入”按鈕:在當前選擇的菜單項前插入一個新的菜單項。(11) “刪除”按鈕:刪除當前選擇的菜單項。在菜單設計過程中,已經(jīng)設計的菜單項及其上下級關

17、系都會顯示在菜單編輯器下端的列表框中,讀者可以非常直觀地修改、調(diào)整有關的菜單項。 共二十六頁7.3.3 下拉式菜單(ci dn) 在下拉式菜單中,一般有一個主菜單,稱為菜單欄。每個菜單欄包括一個或多個選擇項,稱為菜單標題,如Visual Basic 6.0集成開發(fā)環(huán)境中的文件、編輯、視圖、工程等。 當單擊一個菜單標題時,包含菜單項的列表(即菜單)被打開,在列表項目中,可以包含分隔條和子菜單標題(其右邊含有三角(snjio)的菜單項)等。當選擇子菜單標題時又會“下拉”出下一級菜單項列表,稱為子菜單。 Visual Basic的菜單系統(tǒng)最多可達6級,但在實際應用中一般不超過3層,因為菜單層次過多,

18、會影響操作的方便性。 建立下拉式菜單的步驟如下:(1) 啟動菜單編輯器。(2) 輸入菜單標題。(3) 輸入菜單名稱。(4) 選擇快捷鍵、復選、有效、可見等屬性。(5) 運用菜單項移動按鈕調(diào)整菜單位置。(7) 重復以上步驟(2)(5),直到完成菜單輸入。(8) 單擊“確定”按鈕。 下拉式菜單建立以后,需要為相應的菜單項編寫事件過程代碼,以便當程序運行時選擇菜單實現(xiàn)具體的功能。 共二十六頁7.3.4 彈出式菜單(ci dn)(快捷菜單(ci dn)) 一般使用鼠標右鍵觸發(fā)快捷菜單。實現(xiàn)(shxin)步驟如下:(1) 在菜單編輯器中建立該菜單。(2) 設置其頂層菜單項(主菜單項)的Visible屬性為False。(3)在窗體或控件的M

溫馨提示

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

評論

0/150

提交評論