面向?qū)ο蟪绦蛟O(shè)計(jì)PPT10_第1頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)PPT10_第2頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)PPT10_第3頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)PPT10_第4頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)PPT10_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第10章 對(duì)話框和菜單10.1 通用對(duì)話框控件10.2 菜單設(shè)計(jì)1“通用對(duì)話框”是一種ActiveX控件,它隨同VB提供給程序設(shè)計(jì)人員。啟動(dòng)VB后,在工具箱中沒(méi)有對(duì)話框控件,需要把它加到工具箱中??丶砑硬襟E: (1)打開(kāi)“工程”菜單,選擇“部件”命令。(2)打開(kāi)“控件”選項(xiàng)卡,并選中“Microsoft Common Dialog Control 6.0”復(fù)選框。 (3)單擊“確定”按鈕,控件出現(xiàn)在工具箱中 。10.1 通用對(duì)話框控件 CommonDialog2ActiveX控件:根據(jù)微軟權(quán)威的軟件開(kāi)發(fā)指南MSDN(Microsoft Developer Network)的定義,Active

2、X插件以前也叫做OLE(對(duì)象連接與嵌入)控件OCX控件,它是一些軟件組件或?qū)ο?,可以將其插入到WEB網(wǎng)頁(yè)或其它應(yīng)用程序中。 ActiveX控件是可重用的軟件組件。使用它可以很快地在網(wǎng)址、應(yīng)用程序以及開(kāi)發(fā)工具中加入特殊的功能。ActiveX控件的使用者可以無(wú)需知道這些組件是如何開(kāi)發(fā)的,便可以完成網(wǎng)頁(yè)或應(yīng)用程序的設(shè)計(jì)。3對(duì)話框類型 Action屬性值 方法 打開(kāi)文件對(duì)話框 1ShowOpen 保存文件對(duì)話框 2ShowSave顏色對(duì)話框 3ShowColor字體對(duì)話框 4ShowFont打印對(duì)話框 5ShowPrinter幫助對(duì)話框 6ShowHelp通用對(duì)話框控件提供了六種類型的對(duì)話框 ,對(duì)話框

3、的類型需要在程序中設(shè)置,具體方法有兩種:(1)設(shè)置屬性:CommonDialog1.Action = n(2)執(zhí)行方法:CommonDialog1.ShowOpen通用對(duì)話框的類型設(shè)置4CommonDialog控件與“打開(kāi)/另存為”對(duì)話框有關(guān)的屬性 :一、打開(kāi)/另存為對(duì)話框(1) DialogTitle 屬性設(shè)置對(duì)話框的標(biāo)題,缺省時(shí)為“打開(kāi)”或“保存” 。5(2) 屬性設(shè)置或返回要打開(kāi)或保存的文件的路徑及文件名。例如:H:exe(2) 屬性用來(lái)返回所選擇的文件名(不含路徑)。例如:db.exe只能在程序中使用該屬性。6(4) Filter屬性指定在對(duì)話框中顯示的文件類型??梢栽O(shè)置多個(gè)文件類型,

4、供用戶在對(duì)話框的“文件類型”的下拉列表中選擇。格式如下:對(duì)話框名.Filter=描述符1|過(guò)濾器1|描述符2|過(guò)濾器2例如:CommonDialog1.Filter= “All Files(*.*) | *.*| EXE文件(*.EXE) |*.EXE|BAT文件(*.BAT)|(*.BAT)通配符和擴(kuò)展名7(5) FilterIndex屬性指定默認(rèn)的過(guò)濾器,其設(shè)置值為一個(gè)整數(shù)。Filter屬性設(shè)置多個(gè)過(guò)濾器后,每個(gè)都有一個(gè)索引值。第一個(gè)過(guò)濾器的索引值為1,第二個(gè)過(guò)濾器的索引值為2例如:CommonDialog1.Filter= “All Files(*.*) | *.*| EXE文件(*.E

5、XE) |*.EXE|BAT文件(*.BAT)|(*.BAT)CommonDialog1.FilterIndex=28(6) CancelError屬性當(dāng)CancelError為True時(shí),用戶單擊“取消”按鈕,將產(chǎn)生一個(gè)錯(cuò)誤,錯(cuò)誤號(hào)為32755(cdlCancel)以便程序判斷。當(dāng)CancelError為False時(shí),單擊“取消”按鈕,將不產(chǎn)生錯(cuò)誤信息。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: 窗口被隱藏,具有焦點(diǎn) vbNormalFocus/1:窗口正常大小,具有焦點(diǎn) vbMinimizeFocus/2:窗口最小化,具有焦點(diǎn) vbMaximizeFocus/3:窗口最大化,具有焦點(diǎn) vbNormalNoFocus/4:窗口正常,不具有焦點(diǎn) vbMinimizeNoFocus/6:窗口最小化,不具有焦點(diǎn)10Shell函數(shù)成功執(zhí)行后,返回一個(gè)任務(wù)標(biāo)識(shí)(task id)且必須賦給一個(gè)變量 x=shell(”c:vb98myvb1.exe”,3)不可以省略“x=”Shell函數(shù)采用異步方式執(zhí)行其他程序,即shell啟動(dòng)的 程序可能還沒(méi)有執(zhí)行完,就已執(zhí)行了Shell

7、函數(shù)后面的語(yǔ)句例如: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 顯示“打開(kāi)”對(duì)話框并運(yùn)行選定的可執(zhí)行文件。p257 (1)界面設(shè)計(jì)(2)程序代碼12Private Sub Command1_Click() Dim RetVal CommonDialog1.CancelError = True

8、 On Error GoTo Er 錯(cuò)誤捕捉,參見(jiàn)第13章p326 以下設(shè)置過(guò)濾器 CommonDialog1.Filter = All Files(*.*) |*.*|EXE文件(*.EXE) |*.EXE|BAT文件(*.BAT)|*.BAT CommonDialog1.FilterIndex = 2 指定缺省過(guò)濾器 CommonDialog1.ShowOpen 顯示打開(kāi)對(duì)話框 以下調(diào)用Shell函數(shù)打開(kāi)指定的文件 RetVal = Shell(CommonDialog1., vbNormalFocus)Er: Exit SubEnd Sub13“顏色對(duì)話框”可以用來(lái)在調(diào)色板中選擇顏色,或

9、者創(chuàng)建并選定自定義顏色。CommonDialog1.Action = 3 或CommonDialog1. ShowColor10.1.2 顏色對(duì)話框1410.1.2 顏色對(duì)話框“顏色對(duì)話框”控件的重要屬性: DialogTitle, CancelError,Color,F(xiàn)lags。Color: 用來(lái)設(shè)置初始顏色。Flags: 用來(lái)設(shè)置對(duì)話框的選項(xiàng),其中,屬性值為cdlCCRGBInit或1時(shí),使得Color屬性定義的顏色在首次顯示對(duì)話框時(shí)作為選定顏色。例如:Private Sub Form_Load() CommonDialog1.ShowColor CommonDialog1.Color =

10、 &H000000FF& 紅色 CommonDialog1.Flags = 1End Sub15例10.2 顯示“顏色”對(duì)話框,并把用戶選擇的顏色設(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 字體對(duì)話框“字體”對(duì)話框用來(lái)設(shè)定字體大小、樣式、顏色。CommonDialog1.Action = 4 或CommonDialog1. ShowFont17通用對(duì)話框的屬性設(shè)置: (1)Color屬性:設(shè)定字體顏色的初始值。為了使用此屬性,必須先將Flags屬性設(shè)置為cdlCFEffects/256(允許中劃線、下劃線和顏色)。(2) FontName屬性:字體的名稱 (3) FontBold屬性:粗體(4) FontItalic屬性:斜體(5) FontStrickethru屬性:刪除線(

12、6) FontUnderline屬性:下劃線(7) FontSize屬性:字體大小18為了顯示“字體”對(duì)話框,F(xiàn)lags屬性設(shè)置為下述VB常數(shù)之一:cdlCFScreenFonts(屏幕支持的字體) cdlCFPrinterFonts(打印機(jī)支持的字體) cdlCFBoth(即可以是屏幕字體又可以是打印機(jī)字體)例10.3 初始化并顯示“字體”對(duì)話框,然后根據(jù)用戶的選擇設(shè)置文本框的字體屬性 。 19Private Sub Command1_Click( ) CommonDialog1.CancelError = True On Error GoTo ErrHandler 設(shè)置Flags屬性 Co

13、mmonDialog1.Flags = cdlCFBoth Or cdlCFEffects 設(shè)置“字體”對(duì)話框的初始值 CommonDialog1.FontName = 隸書 CommonDialog1.FontSize = 50 CommonDialog1.FontBold = True CommonDialog1.FontItalic = True CommonDialog1.FontUnderline = True CommonDialog1.FontStrikethru = True CommonDialog1.Color = RGB(255, 0, 0) 20顯示字體對(duì)話框 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 打印對(duì)話框通用對(duì)話框的屬性設(shè)置/返回:(1) Copies屬性:返回/設(shè)置要打印的份數(shù)。(2) FromPage屬性:返回/設(shè)置打印的起始頁(yè)。(3) ToPage屬性:返回/設(shè)置打印的終止頁(yè)。(4) Orientation屬性:返回/設(shè)置打印的方向 。22Private Sub Command1_Click( ) Dim BeginPage, EndPage, NumCopies, k CommonDialog1.CancelError = Tru

16、e On Error GoTo out CommonDialog1.ShowPrinter 從對(duì)話框中獲取用戶選定的信息: 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 幫助對(duì)話框2

17、410.2 菜單設(shè)計(jì) 對(duì)于VB應(yīng)用程序,當(dāng)操作比較簡(jiǎn)單時(shí),一般通過(guò)控件來(lái)執(zhí)行相應(yīng)的功能;而當(dāng)要完成較復(fù)雜的操作時(shí),使用菜單具有十分明顯的優(yōu)勢(shì)。10.2.1 菜單概述1. 菜單基本類型:下拉菜單和彈出式菜單。2. 下拉菜單有關(guān)術(shù)語(yǔ):主菜單(通常為一行),菜單標(biāo)題;下拉菜單列表框,菜單項(xiàng),快捷鍵25啟動(dòng)菜單編輯器常用的方法:選擇“工具”菜單中的“菜單編輯器”選項(xiàng)。單擊按鈕欄中的“菜單編輯器”按鈕。在要建立菜單的窗體上單擊鼠標(biāo)右鍵,將彈出一個(gè)菜單,選擇“菜單編輯器” 。10.2.2 菜單編輯器菜單編輯器是對(duì)菜單控件的屬性進(jìn)行設(shè)置的專用對(duì)話框。 26菜單編輯器窗口分為三個(gè)部分1菜單項(xiàng)屬性區(qū)(數(shù)據(jù)區(qū))

18、標(biāo)題(Caption):輸入所建立菜單的標(biāo)題。名稱(Name):是一文本框,輸入所建菜單的名稱,該名稱不在菜單中顯示的,而是在代碼中引用。索引(Index):用來(lái)創(chuàng)建菜單控件數(shù)組,即所有的菜單名稱都相同,用不同的Index屬性來(lái)區(qū)分??旖萱I:是一列表框,用來(lái)為菜單項(xiàng)設(shè)置快捷鍵。27幫助上下文ID:是一文本框,取值為數(shù)值。用來(lái)調(diào)用為菜單項(xiàng)準(zhǔn)備的幫助文件的標(biāo)題頁(yè)。用戶按下F1鍵,則該數(shù)值用來(lái)定位和顯示幫助文件。協(xié)調(diào)位置:是一個(gè)列表框,用來(lái)確定菜單顯示窗體中的位置。復(fù)選(Checked):當(dāng)選擇該項(xiàng)時(shí),可以在菜單項(xiàng)旁加上指定的記號(hào)(如) ;該項(xiàng)類似一個(gè)開(kāi)關(guān)項(xiàng) 。28有效(Enabled):默認(rèn)情況下

19、,該屬性被設(shè)置為True,表明菜單項(xiàng)可用。如果取消選擇,即設(shè)置為False,相應(yīng)的菜單項(xiàng)會(huì)“灰化”,不響應(yīng)用戶操作??梢?jiàn)(Visible):決定菜單項(xiàng)是否可見(jiàn) 顯示窗口列表:在多文檔應(yīng)用程序中,當(dāng)該選項(xiàng)設(shè)置為“On”(框內(nèi)有“”),將顯示當(dāng)前打開(kāi)的一系列子窗口列表 。292菜單列表框區(qū)(編輯區(qū)) 用來(lái)對(duì)輸入的菜單項(xiàng)進(jìn)行調(diào)整。左、右箭頭:用來(lái)確定菜單項(xiàng)的層次。 上、下箭頭: 用來(lái)移動(dòng)菜單項(xiàng)在菜單中的位置。 下一個(gè):將菜單列表區(qū)中的光標(biāo)移到下一個(gè)菜單項(xiàng)。插入:用來(lái)插入新的菜單項(xiàng)。 刪除:刪除條形光標(biāo)所在的菜單項(xiàng)。 3.菜單項(xiàng)列表區(qū)輸入的菜單項(xiàng)全在這里顯示。3010.2.3 用菜單編輯器建立下拉菜單

20、例1 p265:設(shè)計(jì)一個(gè)設(shè)置字體屬性的下拉菜單,通過(guò)該菜單可以改變窗體上標(biāo)簽控件的顯示樣式。311.界面設(shè)計(jì)(1)新建窗體、標(biāo)簽。(2)利用菜單編輯器建立菜單。菜單項(xiàng)標(biāo)題為“-”(減號(hào))時(shí),表示顯示雕刻線。每一個(gè)“菜單項(xiàng)”是一個(gè)獨(dú)立的控件,有對(duì)應(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彈出式菜單是獨(dú)立于菜單欄

22、而顯示在窗體上的浮動(dòng)菜單。步驟:(1) 用菜單編輯器建立菜單。(2) 用PopupMenu方法彈出顯示: (必須把主菜單項(xiàng)的“可見(jiàn)”屬性設(shè)為False)10.2.4 建立彈出式菜單36PopupMenu格式:對(duì)象.PopupMenu 菜單名, Flags ,x , y , BoldCommand 對(duì)象:窗體名,缺省為當(dāng)前活動(dòng)窗口。菜單名:在菜單編輯器中定義的主菜單項(xiàng)名。X、Y:式菜單在窗體上的顯示位置(與Flags配合使用)。BoldCommand:指定在彈出式菜單中用粗體顯示的菜單項(xiàng), 只能有一個(gè)菜單項(xiàng)名被加粗。Flags:彈出式菜單的位置和性能。37例2:設(shè)計(jì)一個(gè)設(shè)置字體屬性的彈出式菜單,

23、通過(guò)該菜單可以改變窗體上標(biāo)簽控件的顯示樣式。P268_1.vbp1.界面設(shè)計(jì)(1)新建窗體、標(biāo)簽。(與例1同)(2)利用菜單編輯器建立菜單。與例1類似,注意主菜單項(xiàng)的“可見(jiàn)”屬性設(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 把字體菜單顯示為一個(gè)彈出式菜單 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è)計(jì)一個(gè)上邊框在窗體的中心的彈出式菜單。P268_2.vbp39對(duì)話框類型 Action屬性值 方法 打開(kāi)文件對(duì)話框 1ShowOpen 保存文件對(duì)話框 2ShowSave顏色對(duì)話框 3ShowCol

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論