版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第10章 對話框和菜單10.1 通用對話框控件10.2 菜單設計1“通用對話框”是一種ActiveX控件,它隨同VB提供給程序設計人員。啟動VB后,在工具箱中沒有對話框控件,需要把它加到工具箱中??丶砑硬襟E: (1)打開“工程”菜單,選擇“部件”命令。(2)打開“控件”選項卡,并選中“Microsoft Common Dialog Control 6.0”復選框。 (3)單擊“確定”按鈕,控件出現(xiàn)在工具箱中 。10.1 通用對話框控件 CommonDialog2ActiveX控件:根據(jù)微軟權威的軟件開發(fā)指南MSDN(Microsoft Developer Network)的定義,Active
2、X插件以前也叫做OLE(對象連接與嵌入)控件OCX控件,它是一些軟件組件或對象,可以將其插入到WEB網(wǎng)頁或其它應用程序中。 ActiveX控件是可重用的軟件組件。使用它可以很快地在網(wǎng)址、應用程序以及開發(fā)工具中加入特殊的功能。ActiveX控件的使用者可以無需知道這些組件是如何開發(fā)的,便可以完成網(wǎng)頁或應用程序的設計。3對話框類型 Action屬性值 方法 打開文件對話框 1ShowOpen 保存文件對話框 2ShowSave顏色對話框 3ShowColor字體對話框 4ShowFont打印對話框 5ShowPrinter幫助對話框 6ShowHelp通用對話框控件提供了六種類型的對話框 ,對話框
3、的類型需要在程序中設置,具體方法有兩種:(1)設置屬性:CommonDialog1.Action = n(2)執(zhí)行方法:CommonDialog1.ShowOpen通用對話框的類型設置4CommonDialog控件與“打開/另存為”對話框有關的屬性 :一、打開/另存為對話框(1) DialogTitle 屬性設置對話框的標題,缺省時為“打開”或“保存” 。5(2) 屬性設置或返回要打開或保存的文件的路徑及文件名。例如:H:exe(2) 屬性用來返回所選擇的文件名(不含路徑)。例如:db.exe只能在程序中使用該屬性。6(4) Filter屬性指定在對話框中顯示的文件類型??梢栽O置多個文件類型,
4、供用戶在對話框的“文件類型”的下拉列表中選擇。格式如下:對話框名.Filter=描述符1|過濾器1|描述符2|過濾器2例如:CommonDialog1.Filter= “All Files(*.*) | *.*| EXE文件(*.EXE) |*.EXE|BAT文件(*.BAT)|(*.BAT)通配符和擴展名7(5) FilterIndex屬性指定默認的過濾器,其設置值為一個整數(shù)。Filter屬性設置多個過濾器后,每個都有一個索引值。第一個過濾器的索引值為1,第二個過濾器的索引值為2例如:CommonDialog1.Filter= “All Files(*.*) | *.*| EXE文件(*.E
5、XE) |*.EXE|BAT文件(*.BAT)|(*.BAT)CommonDialog1.FilterIndex=28(6) CancelError屬性當CancelError為True時,用戶單擊“取消”按鈕,將產(chǎn)生一個錯誤,錯誤號為32755(cdlCancel)以便程序判斷。當CancelError為False時,單擊“取消”按鈕,將不產(chǎn)生錯誤信息。9補充: Shell函數(shù)調用應用程序格式:shell(命令字符串,窗口類型)(1) 命令字符串:必須是可執(zhí)行文件,即擴展名必須為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í)行后,返回一個任務標識(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)界面設計(2)程序代碼12Private Sub Command1_Click() Dim RetVal CommonDialog1.CancelError = True
8、 On Error GoTo Er 錯誤捕捉,參見第13章p326 以下設置過濾器 CommonDialog1.Filter = All Files(*.*) |*.*|EXE文件(*.EXE) |*.EXE|BAT文件(*.BAT)|*.BAT CommonDialog1.FilterIndex = 2 指定缺省過濾器 CommonDialog1.ShowOpen 顯示打開對話框 以下調用Shell函數(shù)打開指定的文件 RetVal = Shell(CommonDialog1., vbNormalFocus)Er: Exit SubEnd Sub13“顏色對話框”可以用來在調色板中選擇顏色,或
9、者創(chuàng)建并選定自定義顏色。CommonDialog1.Action = 3 或CommonDialog1. ShowColor10.1.2 顏色對話框1410.1.2 顏色對話框“顏色對話框”控件的重要屬性: DialogTitle, CancelError,Color,F(xiàn)lags。Color: 用來設置初始顏色。Flags: 用來設置對話框的選項,其中,屬性值為cdlCCRGBInit或1時,使得Color屬性定義的顏色在首次顯示對話框時作為選定顏色。例如:Private Sub Form_Load() CommonDialog1.ShowColor CommonDialog1.Color =
10、 &H000000FF& 紅色 CommonDialog1.Flags = 1End Sub15例10.2 顯示“顏色”對話框,并把用戶選擇的顏色設置成窗體的背景色。Private Sub Command1_Click() CommonDialog1.CancelError = True On Error GoTo ErrHandler CommonDialog1.Color = &HFF0000 蘭色 CommonDialog1.Flags = 1 設置Flags屬性 CommonDialog1.ShowColor Color屬性值作為窗體背景顏色 Form1.BackColor = Com
11、monDialog1.ColorErrHandler: Exit SubEnd Sub1610.1.3 字體對話框“字體”對話框用來設定字體大小、樣式、顏色。CommonDialog1.Action = 4 或CommonDialog1. ShowFont17通用對話框的屬性設置: (1)Color屬性:設定字體顏色的初始值。為了使用此屬性,必須先將Flags屬性設置為cdlCFEffects/256(允許中劃線、下劃線和顏色)。(2) FontName屬性:字體的名稱 (3) FontBold屬性:粗體(4) FontItalic屬性:斜體(5) FontStrickethru屬性:刪除線(
12、6) FontUnderline屬性:下劃線(7) FontSize屬性:字體大小18為了顯示“字體”對話框,F(xiàn)lags屬性設置為下述VB常數(shù)之一:cdlCFScreenFonts(屏幕支持的字體) cdlCFPrinterFonts(打印機支持的字體) cdlCFBoth(即可以是屏幕字體又可以是打印機字體)例10.3 初始化并顯示“字體”對話框,然后根據(jù)用戶的選擇設置文本框的字體屬性 。 19Private Sub Command1_Click( ) CommonDialog1.CancelError = True On Error GoTo ErrHandler 設置Flags屬性 Co
13、mmonDialog1.Flags = cdlCFBoth Or cdlCFEffects 設置“字體”對話框的初始值 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ù)用戶的選擇設置文本的屬性 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 打印對話框通用對話框的屬性設置/返回:(1) Copies屬性:返回/設置要打印的份數(shù)。(2) FromPage屬性:返回/設置打印的起始頁。(3) ToPage屬性:返回/設置打印的終止頁。(4) Orientation屬性:返回/設置打印的方向 。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需要設置的屬性:(1) HelpCommand屬性:設置幫助顯示的類型,一般為VB常數(shù)(2) HelpFile屬性:指定幫助文件 10.1.5 幫助對話框2
17、410.2 菜單設計 對于VB應用程序,當操作比較簡單時,一般通過控件來執(zhí)行相應的功能;而當要完成較復雜的操作時,使用菜單具有十分明顯的優(yōu)勢。10.2.1 菜單概述1. 菜單基本類型:下拉菜單和彈出式菜單。2. 下拉菜單有關術語:主菜單(通常為一行),菜單標題;下拉菜單列表框,菜單項,快捷鍵25啟動菜單編輯器常用的方法:選擇“工具”菜單中的“菜單編輯器”選項。單擊按鈕欄中的“菜單編輯器”按鈕。在要建立菜單的窗體上單擊鼠標右鍵,將彈出一個菜單,選擇“菜單編輯器” 。10.2.2 菜單編輯器菜單編輯器是對菜單控件的屬性進行設置的專用對話框。 26菜單編輯器窗口分為三個部分1菜單項屬性區(qū)(數(shù)據(jù)區(qū))
18、標題(Caption):輸入所建立菜單的標題。名稱(Name):是一文本框,輸入所建菜單的名稱,該名稱不在菜單中顯示的,而是在代碼中引用。索引(Index):用來創(chuàng)建菜單控件數(shù)組,即所有的菜單名稱都相同,用不同的Index屬性來區(qū)分??旖萱I:是一列表框,用來為菜單項設置快捷鍵。27幫助上下文ID:是一文本框,取值為數(shù)值。用來調用為菜單項準備的幫助文件的標題頁。用戶按下F1鍵,則該數(shù)值用來定位和顯示幫助文件。協(xié)調位置:是一個列表框,用來確定菜單顯示窗體中的位置。復選(Checked):當選擇該項時,可以在菜單項旁加上指定的記號(如) ;該項類似一個開關項 。28有效(Enabled):默認情況下
19、,該屬性被設置為True,表明菜單項可用。如果取消選擇,即設置為False,相應的菜單項會“灰化”,不響應用戶操作??梢姡╒isible):決定菜單項是否可見 顯示窗口列表:在多文檔應用程序中,當該選項設置為“On”(框內有“”),將顯示當前打開的一系列子窗口列表 。292菜單列表框區(qū)(編輯區(qū)) 用來對輸入的菜單項進行調整。左、右箭頭:用來確定菜單項的層次。 上、下箭頭: 用來移動菜單項在菜單中的位置。 下一個:將菜單列表區(qū)中的光標移到下一個菜單項。插入:用來插入新的菜單項。 刪除:刪除條形光標所在的菜單項。 3.菜單項列表區(qū)輸入的菜單項全在這里顯示。3010.2.3 用菜單編輯器建立下拉菜單
20、例1 p265:設計一個設置字體屬性的下拉菜單,通過該菜單可以改變窗體上標簽控件的顯示樣式。311.界面設計(1)新建窗體、標簽。(2)利用菜單編輯器建立菜單。菜單項標題為“-”(減號)時,表示顯示雕刻線。每一個“菜單項”是一個獨立的控件,有對應的事件。323. 編寫代碼 p265.vbp2.設置標簽的屬性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方法彈出顯示: (必須把主菜單項的“可見”屬性設為False)10.2.4 建立彈出式菜單36PopupMenu格式:對象.PopupMenu 菜單名, Flags ,x , y , BoldCommand 對象:窗體名,缺省為當前活動窗口。菜單名:在菜單編輯器中定義的主菜單項名。X、Y:式菜單在窗體上的顯示位置(與Flags配合使用)。BoldCommand:指定在彈出式菜單中用粗體顯示的菜單項, 只能有一個菜單項名被加粗。Flags:彈出式菜單的位置和性能。37例2:設計一個設置字體屬性的彈出式菜單,
23、通過該菜單可以改變窗體上標簽控件的顯示樣式。P268_1.vbp1.界面設計(1)新建窗體、標簽。(與例1同)(2)利用菜單編輯器建立菜單。與例1類似,注意主菜單項的“可見”屬性設為False。Private Sub Form_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then 檢查是否單擊了鼠標右鍵 PopupMenu mnuFont 把字體菜單顯示為一個彈出式菜單 End IfEnd Sub38Private Sub Form_MouseUp(Button As
24、 Integer, Shift As Integer, X As Single, Y As Single) Dim xloc, yloc 設置X變量和Y變量到窗體中心 xloc = ScaleWidth / 2 yloc = ScaleHeight / 2 顯示彈出式菜單 PopupMenu mnuFont, vbPopupMenuCenterAlign Or vbPopupMenuRightButton, xloc, yloc例3:在例2的基礎上,設計一個上邊框在窗體的中心的彈出式菜單。P268_2.vbp39對話框類型 Action屬性值 方法 打開文件對話框 1ShowOpen 保存文件對話框 2ShowSave顏色對話框 3ShowCol
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度水利工程生態(tài)流量保障合同3篇
- 二零二五年度個人電動車長途配送及售后服務合同3篇
- 二零二五年農(nóng)村旱廁改造與農(nóng)村生態(tài)環(huán)境治理合同3篇
- 2025版建筑垃圾運輸安全與環(huán)境保護責任合同范本3篇
- 2025年度果園土地改良技術實施合同2篇
- 2025區(qū)域快餐特許加盟合同3篇
- 2024年跨國服務領域WTO合規(guī)合同范本版B版
- 2025年度無固定期限臨時租賃合同標準模板下載6篇
- 2024異業(yè)聯(lián)盟金融保險產(chǎn)品聯(lián)合營銷合作協(xié)議3篇
- 二零二五年度光伏發(fā)電項目安裝施工合同書2篇
- 2025屆高考語文復習:散文的結構與行文思路 課件
- 審計工作述職報告
- 廣東省廣州海珠區(qū)2023-2024學年八年級上學期期末物理試卷(含答案)
- 【MOOC】工程材料學-華中科技大學 中國大學慕課MOOC答案
- 銀行貸款保證合同范本
- 《汽車膠粘劑》課件
- 手繪pop教學課件
- 2024腦血管病指南
- 企業(yè)三年營銷規(guī)劃
- 2024年社區(qū)工作者考試試題庫
- 清華大學《工程倫理》網(wǎng)課習題及期末考試答案
評論
0/150
提交評論