版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第10章 對話框和菜單10.1 通用對話框控件10.2 菜單設(shè)計1“通用對話框”是一種ActiveX控件,它隨同VB提供給程序設(shè)計人員。啟動VB后,在工具箱中沒有對話框控件,需要把它加到工具箱中??丶砑硬襟E: (1)打開“工程”菜單,選擇“部件”命令。(2)打開“控件”選項卡,并選中“Microsoft Common Dialog Control 6.0”復(fù)選框。 (3)單擊“確定”按鈕,控件出現(xiàn)在工具箱中 。10.1 通用對話框控件 CommonDialog2ActiveX控件:根據(jù)微軟權(quán)威的軟件開發(fā)指南MSDN(Microsoft Developer Network)的定義,Active
2、X插件以前也叫做OLE(對象連接與嵌入)控件OCX控件,它是一些軟件組件或?qū)ο螅梢詫⑵洳迦氲絎EB網(wǎng)頁或其它應(yīng)用程序中。 ActiveX控件是可重用的軟件組件。使用它可以很快地在網(wǎng)址、應(yīng)用程序以及開發(fā)工具中加入特殊的功能。ActiveX控件的使用者可以無需知道這些組件是如何開發(fā)的,便可以完成網(wǎng)頁或應(yīng)用程序的設(shè)計。3對話框類型 Action屬性值 方法 打開文件對話框 1ShowOpen 保存文件對話框 2ShowSave顏色對話框 3ShowColor字體對話框 4ShowFont打印對話框 5ShowPrinter幫助對話框 6ShowHelp通用對話框控件提供了六種類型的對話框 ,對話框
3、的類型需要在程序中設(shè)置,具體方法有兩種:(1)設(shè)置屬性:CommonDialog1.Action = n(2)執(zhí)行方法:CommonDialog1.ShowOpen通用對話框的類型設(shè)置4CommonDialog控件與“打開/另存為”對話框有關(guān)的屬性 :一、打開/另存為對話框(1) DialogTitle 屬性設(shè)置對話框的標(biāo)題,缺省時為“打開”或“保存” 。5(2) 屬性設(shè)置或返回要打開或保存的文件的路徑及文件名。例如:H:exe(2) 屬性用來返回所選擇的文件名(不含路徑)。例如:db.exe只能在程序中使用該屬性。6(4) Filter屬性指定在對話框中顯示的文件類型??梢栽O(shè)置多個文件類型,
4、供用戶在對話框的“文件類型”的下拉列表中選擇。格式如下:對話框名.Filter=描述符1|過濾器1|描述符2|過濾器2例如:CommonDialog1.Filter= “All Files(*.*) | *.*| EXE文件(*.EXE) |*.EXE|BAT文件(*.BAT)|(*.BAT)通配符和擴(kuò)展名7(5) FilterIndex屬性指定默認(rèn)的過濾器,其設(shè)置值為一個整數(shù)。Filter屬性設(shè)置多個過濾器后,每個都有一個索引值。第一個過濾器的索引值為1,第二個過濾器的索引值為2例如:CommonDialog1.Filter= “All Files(*.*) | *.*| EXE文件(*.E
5、XE) |*.EXE|BAT文件(*.BAT)|(*.BAT)CommonDialog1.FilterIndex=28(6) CancelError屬性當(dāng)CancelError為True時,用戶單擊“取消”按鈕,將產(chǎn)生一個錯誤,錯誤號為32755(cdlCancel)以便程序判斷。當(dāng)CancelError為False時,單擊“取消”按鈕,將不產(chǎn)生錯誤信息。9補(bǔ)充: Shell函數(shù)調(diào)用應(yīng)用程序格式:shell(命令字符串,窗口類型)(1) 命令字符串:必須是可執(zhí)行文件,即擴(kuò)展名必須為COM、 EXE、BAT、PIF,其他不可 。 注:目錄及文件名不能包含漢字。(2) 窗口類型:0、1、2、3、4
6、、6 vbHide/0: 窗口被隱藏,具有焦點 vbNormalFocus/1:窗口正常大小,具有焦點 vbMinimizeFocus/2:窗口最小化,具有焦點 vbMaximizeFocus/3:窗口最大化,具有焦點 vbNormalNoFocus/4:窗口正常,不具有焦點 vbMinimizeNoFocus/6:窗口最小化,不具有焦點10Shell函數(shù)成功執(zhí)行后,返回一個任務(wù)標(biāo)識(task id)且必須賦給一個變量 x=shell(”c:vb98myvb1.exe”,3)不可以省略“x=”Shell函數(shù)采用異步方式執(zhí)行其他程序,即shell啟動的 程序可能還沒有執(zhí)行完,就已執(zhí)行了Shell
7、函數(shù)后面的語句例如:Private Sub command1_click() m% = InputBox(shuru 13) Select Case m Case 1: x = Shell(H:exe, 1) Case 2: x = Shell(H:exe, 1) Case 3: x = Shell(H:exe, 1) End SelectEnd Sub11例10.1 顯示“打開”對話框并運行選定的可執(zhí)行文件。p257 (1)界面設(shè)計(2)程序代碼12Private Sub Command1_Click() Dim RetVal CommonDialog1.CancelError = True
8、 On Error GoTo Er 錯誤捕捉,參見第13章p326 以下設(shè)置過濾器 CommonDialog1.Filter = All Files(*.*) |*.*|EXE文件(*.EXE) |*.EXE|BAT文件(*.BAT)|*.BAT CommonDialog1.FilterIndex = 2 指定缺省過濾器 CommonDialog1.ShowOpen 顯示打開對話框 以下調(diào)用Shell函數(shù)打開指定的文件 RetVal = Shell(CommonDialog1., vbNormalFocus)Er: Exit SubEnd Sub13“顏色對話框”可以用來在調(diào)色板中選擇顏色,或
9、者創(chuàng)建并選定自定義顏色。CommonDialog1.Action = 3 或CommonDialog1. ShowColor10.1.2 顏色對話框1410.1.2 顏色對話框“顏色對話框”控件的重要屬性: DialogTitle, CancelError,Color,F(xiàn)lags。Color: 用來設(shè)置初始顏色。Flags: 用來設(shè)置對話框的選項,其中,屬性值為cdlCCRGBInit或1時,使得Color屬性定義的顏色在首次顯示對話框時作為選定顏色。例如:Private Sub Form_Load() CommonDialog1.ShowColor CommonDialog1.Color =
10、 &H000000FF& 紅色 CommonDialog1.Flags = 1End Sub15例10.2 顯示“顏色”對話框,并把用戶選擇的顏色設(shè)置成窗體的背景色。Private Sub Command1_Click() CommonDialog1.CancelError = True On Error GoTo ErrHandler CommonDialog1.Color = &HFF0000 蘭色 CommonDialog1.Flags = 1 設(shè)置Flags屬性 CommonDialog1.ShowColor Color屬性值作為窗體背景顏色 Form1.BackColor = Com
11、monDialog1.ColorErrHandler: Exit SubEnd Sub1610.1.3 字體對話框“字體”對話框用來設(shè)定字體大小、樣式、顏色。CommonDialog1.Action = 4 或CommonDialog1. ShowFont17通用對話框的屬性設(shè)置: (1)Color屬性:設(shè)定字體顏色的初始值。為了使用此屬性,必須先將Flags屬性設(shè)置為cdlCFEffects/256(允許中劃線、下劃線和顏色)。(2) FontName屬性:字體的名稱 (3) FontBold屬性:粗體(4) FontItalic屬性:斜體(5) FontStrickethru屬性:刪除線(
12、6) FontUnderline屬性:下劃線(7) FontSize屬性:字體大小18為了顯示“字體”對話框,F(xiàn)lags屬性設(shè)置為下述VB常數(shù)之一:cdlCFScreenFonts(屏幕支持的字體) cdlCFPrinterFonts(打印機(jī)支持的字體) cdlCFBoth(即可以是屏幕字體又可以是打印機(jī)字體)例10.3 初始化并顯示“字體”對話框,然后根據(jù)用戶的選擇設(shè)置文本框的字體屬性 。 19Private Sub Command1_Click( ) CommonDialog1.CancelError = True On Error GoTo ErrHandler 設(shè)置Flags屬性 Co
13、mmonDialog1.Flags = cdlCFBoth Or cdlCFEffects 設(shè)置“字體”對話框的初始值 CommonDialog1.FontName = 隸書 CommonDialog1.FontSize = 50 CommonDialog1.FontBold = True CommonDialog1.FontItalic = True CommonDialog1.FontUnderline = True CommonDialog1.FontStrikethru = True CommonDialog1.Color = RGB(255, 0, 0) 20顯示字體對話框 Comm
14、onDialog1.ShowFont 根據(jù)用戶的選擇設(shè)置文本的屬性 Text1.FontName = CommonDialog1.FontName Text1.FontSize = CommonDialog1.FontSize Text1.FontBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontUnderline = CommonDialog1.FontUnderline Text1.FontStrikethru = CommonDialog1.FontStrikethru
15、Text1.ForeColor = CommonDialog1.ColorErrHandler: Exit SubEnd Sub21 10.1.4 打印對話框通用對話框的屬性設(shè)置/返回:(1) Copies屬性:返回/設(shè)置要打印的份數(shù)。(2) FromPage屬性:返回/設(shè)置打印的起始頁。(3) ToPage屬性:返回/設(shè)置打印的終止頁。(4) Orientation屬性:返回/設(shè)置打印的方向 。22Private Sub Command1_Click( ) Dim BeginPage, EndPage, NumCopies, k CommonDialog1.CancelError = Tru
16、e On Error GoTo out CommonDialog1.ShowPrinter 從對話框中獲取用戶選定的信息: BeginPage = CommonDialog1.FromPage EndPage = CommonDialog1.ToPage NumCopies = CommonDialog1.Copies For k = 1 To NumCopies 在此放置打印代碼 Next k out: Exit SubEnd Sub23需要設(shè)置的屬性:(1) HelpCommand屬性:設(shè)置幫助顯示的類型,一般為VB常數(shù)(2) HelpFile屬性:指定幫助文件 10.1.5 幫助對話框2
17、410.2 菜單設(shè)計 對于VB應(yīng)用程序,當(dāng)操作比較簡單時,一般通過控件來執(zhí)行相應(yīng)的功能;而當(dāng)要完成較復(fù)雜的操作時,使用菜單具有十分明顯的優(yōu)勢。10.2.1 菜單概述1. 菜單基本類型:下拉菜單和彈出式菜單。2. 下拉菜單有關(guān)術(shù)語:主菜單(通常為一行),菜單標(biāo)題;下拉菜單列表框,菜單項,快捷鍵25啟動菜單編輯器常用的方法:選擇“工具”菜單中的“菜單編輯器”選項。單擊按鈕欄中的“菜單編輯器”按鈕。在要建立菜單的窗體上單擊鼠標(biāo)右鍵,將彈出一個菜單,選擇“菜單編輯器” 。10.2.2 菜單編輯器菜單編輯器是對菜單控件的屬性進(jìn)行設(shè)置的專用對話框。 26菜單編輯器窗口分為三個部分1菜單項屬性區(qū)(數(shù)據(jù)區(qū))
18、標(biāo)題(Caption):輸入所建立菜單的標(biāo)題。名稱(Name):是一文本框,輸入所建菜單的名稱,該名稱不在菜單中顯示的,而是在代碼中引用。索引(Index):用來創(chuàng)建菜單控件數(shù)組,即所有的菜單名稱都相同,用不同的Index屬性來區(qū)分??旖萱I:是一列表框,用來為菜單項設(shè)置快捷鍵。27幫助上下文ID:是一文本框,取值為數(shù)值。用來調(diào)用為菜單項準(zhǔn)備的幫助文件的標(biāo)題頁。用戶按下F1鍵,則該數(shù)值用來定位和顯示幫助文件。協(xié)調(diào)位置:是一個列表框,用來確定菜單顯示窗體中的位置。復(fù)選(Checked):當(dāng)選擇該項時,可以在菜單項旁加上指定的記號(如) ;該項類似一個開關(guān)項 。28有效(Enabled):默認(rèn)情況下
19、,該屬性被設(shè)置為True,表明菜單項可用。如果取消選擇,即設(shè)置為False,相應(yīng)的菜單項會“灰化”,不響應(yīng)用戶操作??梢姡╒isible):決定菜單項是否可見 顯示窗口列表:在多文檔應(yīng)用程序中,當(dāng)該選項設(shè)置為“On”(框內(nèi)有“”),將顯示當(dāng)前打開的一系列子窗口列表 。292菜單列表框區(qū)(編輯區(qū)) 用來對輸入的菜單項進(jìn)行調(diào)整。左、右箭頭:用來確定菜單項的層次。 上、下箭頭: 用來移動菜單項在菜單中的位置。 下一個:將菜單列表區(qū)中的光標(biāo)移到下一個菜單項。插入:用來插入新的菜單項。 刪除:刪除條形光標(biāo)所在的菜單項。 3.菜單項列表區(qū)輸入的菜單項全在這里顯示。3010.2.3 用菜單編輯器建立下拉菜單
20、例1 p265:設(shè)計一個設(shè)置字體屬性的下拉菜單,通過該菜單可以改變窗體上標(biāo)簽控件的顯示樣式。311.界面設(shè)計(1)新建窗體、標(biāo)簽。(2)利用菜單編輯器建立菜單。菜單項標(biāo)題為“-”(減號)時,表示顯示雕刻線。每一個“菜單項”是一個獨立的控件,有對應(yīng)的事件。323. 編寫代碼 p265.vbp2.設(shè)置標(biāo)簽的屬性Name: lblShowCaption: “字體控制示例”33Private Sub mnuFontBold_Click() 粗體 LblShow.FontBold = Not LblShow.FontBold mnuFontBold.Checked = LblShow.FontBoldE
21、nd SubPrivate Sub mnuFontItalic_Click() 斜體 LblShow.FontItalic = Not LblShow.FontItalic mnuFontItalic.Checked = LblShow.FontItalic 邏輯值End Sub34Private Sub mnuFontUnderline_Click( ) 下劃線 LblShow.FontUnderline = Not lShow.FontUnderline mnuFontUnderline.Checked =LblShow.FontUnderlineEnd Sub35彈出式菜單是獨立于菜單欄
22、而顯示在窗體上的浮動菜單。步驟:(1) 用菜單編輯器建立菜單。(2) 用PopupMenu方法彈出顯示: (必須把主菜單項的“可見”屬性設(shè)為False)10.2.4 建立彈出式菜單36PopupMenu格式:對象.PopupMenu 菜單名, Flags ,x , y , BoldCommand 對象:窗體名,缺省為當(dāng)前活動窗口。菜單名:在菜單編輯器中定義的主菜單項名。X、Y:式菜單在窗體上的顯示位置(與Flags配合使用)。BoldCommand:指定在彈出式菜單中用粗體顯示的菜單項, 只能有一個菜單項名被加粗。Flags:彈出式菜單的位置和性能。37例2:設(shè)計一個設(shè)置字體屬性的彈出式菜單,
23、通過該菜單可以改變窗體上標(biāo)簽控件的顯示樣式。P268_1.vbp1.界面設(shè)計(1)新建窗體、標(biāo)簽。(與例1同)(2)利用菜單編輯器建立菜單。與例1類似,注意主菜單項的“可見”屬性設(shè)為False。Private Sub Form_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then 檢查是否單擊了鼠標(biāo)右鍵 PopupMenu mnuFont 把字體菜單顯示為一個彈出式菜單 End IfEnd Sub38Private Sub Form_MouseUp(Button As
24、 Integer, Shift As Integer, X As Single, Y As Single) Dim xloc, yloc 設(shè)置X變量和Y變量到窗體中心 xloc = ScaleWidth / 2 yloc = ScaleHeight / 2 顯示彈出式菜單 PopupMenu mnuFont, vbPopupMenuCenterAlign Or vbPopupMenuRightButton, xloc, yloc例3:在例2的基礎(chǔ)上,設(shè)計一個上邊框在窗體的中心的彈出式菜單。P268_2.vbp39對話框類型 Action屬性值 方法 打開文件對話框 1ShowOpen 保存文件對話框 2ShowSave顏色對話框 3ShowCol
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 包頭2025年內(nèi)蒙古包頭昆都侖區(qū)教育系統(tǒng)引進(jìn)高層次和緊缺急需人才82人筆試歷年參考題庫附帶答案詳解
- 保山2025年云南保山市隆陽區(qū)西邑鄉(xiāng)中心衛(wèi)生院鄉(xiāng)村醫(yī)生招聘筆試歷年參考題庫附帶答案詳解
- 云浮廣東云浮市云城區(qū)疾病預(yù)防控制中心招聘筆試歷年參考題庫附帶答案詳解
- 上海2025年上海市第六人民醫(yī)院招聘筆試歷年參考題庫附帶答案詳解
- 預(yù)制鋼筋混凝土樁施工方案
- 貴州國企招聘2025貴州水務(wù)股份有限公司第二批招聘20人筆試參考題庫附帶答案詳解(3卷)
- 中國水利水電第十二工程局有限公司2026屆秋季招聘110人筆試參考題庫附帶答案詳解(3卷)
- 2026浙江中成控股集團(tuán)招聘筆試參考題庫附帶答案詳解(3卷)
- 2026華電煤業(yè)集團(tuán)有限公司校園招聘(第一批)筆試參考題庫附帶答案詳解(3卷)
- 2026中國華電集團(tuán)北京能源有限公司校園招聘(第一批)筆試參考題庫附帶答案詳解(3卷)
- 重難點練02 古詩文對比閱讀(新題型新考法)-2024年中考語文專練(上海專用)(解析版)
- 門崗應(yīng)急預(yù)案管理辦法
- 幼兒階段口才能力培養(yǎng)課程設(shè)計
- 職高一年級《數(shù)學(xué)》(基礎(chǔ)模塊)上冊試題題庫
- JG/T 367-2012建筑工程用切(擴(kuò))底機(jī)械錨栓及后切(擴(kuò))底鉆頭
- 國家職業(yè)標(biāo)準(zhǔn) 6-11-01-03 化工總控工S (2025年版)
- 公共安全視頻監(jiān)控建設(shè)聯(lián)網(wǎng)應(yīng)用(雪亮工程)運維服務(wù)方案純方案
- 定額〔2025〕2號文-關(guān)于發(fā)布2020版電網(wǎng)技術(shù)改造及檢修工程概預(yù)算定額2024年下半年價格
- 安全生產(chǎn)標(biāo)準(zhǔn)化與安全文化建設(shè)的關(guān)系
- DB31-T 1502-2024 工貿(mào)行業(yè)有限空間作業(yè)安全管理規(guī)范
- 2022版義務(wù)教育(物理)課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
評論
0/150
提交評論