windows程序設(shè)計(jì)vb電子教案第9章_第1頁
windows程序設(shè)計(jì)vb電子教案第9章_第2頁
windows程序設(shè)計(jì)vb電子教案第9章_第3頁
windows程序設(shè)計(jì)vb電子教案第9章_第4頁
windows程序設(shè)計(jì)vb電子教案第9章_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

WINDOWS程序設(shè)計(jì)(VB)上海交通大學(xué)網(wǎng)絡(luò)教育學(xué)院陳澤宇博士、副教授2第0章概述(補(bǔ)充)第1章緒論第2章創(chuàng)建第一個(gè)Windows應(yīng)用程序第3章數(shù)據(jù)類型、變量和表達(dá)式第4章選擇結(jié)構(gòu)第5章循環(huán)結(jié)構(gòu)第6章數(shù)組第7章過程第8章類第9章菜單與圖形第10章文件第11章Form窗體和對(duì)話框×第12章Web編程基礎(chǔ)×第13章初步×第14章Web控件第15章數(shù)據(jù)訪問第16章初步3第9章菜單與圖形9.1繪圖基礎(chǔ)知識(shí)×9.2設(shè)置繪圖屬性×9.3繪圖×9.4在控件上繪圖簡(jiǎn)單的動(dòng)畫設(shè)計(jì)(補(bǔ)充)9.5菜單49.1繪圖基礎(chǔ)知識(shí)9.1.1坐標(biāo)系9.1.2GDI+繪圖59.1.1坐標(biāo)系在中,控件放置在窗體對(duì)象中,而窗體又放置在屏幕對(duì)象中,這些能夠放置其他對(duì)象的對(duì)象稱為容器,如窗體、屏幕都是容器每個(gè)容器都有一個(gè)坐標(biāo)系統(tǒng),以便為對(duì)象的定位提供參考容器坐標(biāo)系統(tǒng)的默認(rèn)設(shè)置是容器的左上角為坐標(biāo)原點(diǎn),橫向向右為X軸方向,縱向向下為Y軸方向窗體的原點(diǎn)在緊靠菜單和工具欄(如果有的話)的下方默認(rèn)的長(zhǎng)度單位為像素(Pixel)6可以使用Point結(jié)構(gòu)來描述X和Y坐標(biāo)的有序?qū)?,用來定義二維平面上的一個(gè)點(diǎn)例如:Dimpt1AsPoint=NewPoint(30,30)Dimpt2AsPoint=NewPoint(110,110)79.1.2GDI+繪圖的圖形系統(tǒng)——GDI+(GraphicsDeviceInterface,圖形設(shè)備接口)是應(yīng)用程序編程接口,可以理解為用來與特定設(shè)備進(jìn)行交互的一些類GDI+可以創(chuàng)建圖形、繪制文本以及將圖形圖像作為對(duì)象操作所有的GDI+相關(guān)的類主要分布在System.Drawing、System.Imaging和System.Drawing2D命名空間中8簡(jiǎn)單的動(dòng)畫設(shè)計(jì)(補(bǔ)充)1.位移動(dòng)畫編程設(shè)計(jì)2.翻頁動(dòng)畫編程設(shè)計(jì)9動(dòng)畫可分為兩種:位移動(dòng)畫由于圖像位置變動(dòng)而產(chǎn)生的動(dòng)畫效果翻頁動(dòng)畫一些預(yù)先制作好的圖形文件在屏幕上不間斷地切換,該組圖片在極短的時(shí)間間隔內(nèi)更替,于是產(chǎn)生了動(dòng)畫的視覺101.位移動(dòng)畫編程設(shè)計(jì)PictureBox控件用來顯示位圖、圖元文件、圖標(biāo)、JPEG、GIF或PNG文件文件類型文件擴(kuò)展名位圖.bmp圖元文件.wmf,.emf圖標(biāo).icoJPEG.jpg,.jpegGIF.gifPNG.png11主要屬性Image在設(shè)計(jì)或運(yùn)行期間設(shè)置為需要顯示的類型SizeMode控制在顯示區(qū)域?qū)D像的裁剪和定位ClientSize在運(yùn)行期間改變顯示區(qū)域的尺寸BorderStyle提供一個(gè)標(biāo)準(zhǔn)或三維邊界,用來從剩下的窗體中分辨圖片箱,即使窗體中沒有包含任何圖像(默認(rèn)情況下沒有邊界)12示例:PictureBoxMove位移動(dòng)畫示例圖片向右移動(dòng),一旦移出右邊界,又從左邊移入PrivateSubTimer1_Tick(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTimer1.TickPictureBox1.Location=New

Point(PictureBox1.Location.X+1,PictureBox1.Location.Y)IfPictureBox1.Location.X>=Me.Size.WidthThenPictureBox1.Location=NewPoint(-PictureBox1.Size.Width,PictureBox1.Location.Y)EndIfEndSub132.翻頁動(dòng)畫編程設(shè)計(jì)通過為PictureBox的Image屬性連續(xù)地更換圖片來完成翻頁功能14示例:PictureBoxAnimate翻頁動(dòng)畫示例MrNumo走路PublicImgFlagAsInteger=0PublicStr$PrivateSubTimer1_Tick(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTimer1.Tick

ImgFlag+=1IfImgFlag=9ThenImgFlag=1

Str$=CurDir()&"\..\MRNUMO"&ImgFlag.ToString&".GIF"PictureBox1.Image=Image.FromFile(Str$)PictureBox1.Refresh()EndSub159.5菜單9.5.1菜單的基本概念9.5.2設(shè)計(jì)菜單9.5.3編寫菜單項(xiàng)的事件代碼9.5.4設(shè)計(jì)"上下文"菜單16一般來講,菜單有兩種形式:主菜單通常位于應(yīng)用程序頂部,提供對(duì)應(yīng)用程序所有功能的訪問途經(jīng)上下文菜單(ContextMenu)使用鼠標(biāo)在某個(gè)對(duì)象上右擊時(shí)彈出的菜單179.5.1菜單的基本概念所謂主菜單,就是可供選擇的命令項(xiàng)目列表,它位于菜單欄上,可包含多個(gè)菜單每個(gè)菜單由若干菜單項(xiàng)(MenuItem)組成在菜單項(xiàng)中,分隔線的作用就是將菜單項(xiàng)分組,使作用相近的菜單項(xiàng)放置在一起某些菜單項(xiàng)的右邊有一個(gè)向右的小箭頭,這是帶有子菜單項(xiàng)的標(biāo)志,當(dāng)選擇這樣的菜單項(xiàng)時(shí),將打開下一級(jí)子菜單,可以從子菜單中選擇要執(zhí)行的命令還有一些菜單項(xiàng)并不執(zhí)行命令,而是代表著一種狀態(tài),如帶有復(fù)選標(biāo)記“√”的菜單項(xiàng)18在程序運(yùn)行中,菜單有隱藏、無效和正常3種狀態(tài)隱藏菜單是在窗口運(yùn)行時(shí)不出現(xiàn)在菜單欄上的菜單無效菜單是指下拉菜單中以灰色顯示的菜單項(xiàng),它表示該菜單項(xiàng)在目前狀態(tài)下不能執(zhí)行正常狀態(tài)是指可以正常使用的菜單199.5.2設(shè)計(jì)菜單創(chuàng)建菜單的一般步驟(補(bǔ)充):添加菜單從工具箱中將MainMenu控件拖至窗體上單擊“請(qǐng)?jiān)诖颂庉斎搿笨?,命名該菜單添加菜單?xiàng)單擊菜單下方的“請(qǐng)?jiān)诖颂庉斎搿笨颍⒉⒚鱾€(gè)菜單項(xiàng)(MenuItem)單擊菜單項(xiàng)右方的“請(qǐng)?jiān)诖颂庉斎搿笨?,建立并命名各個(gè)子菜單項(xiàng)為菜單項(xiàng)添加功能通過MenuItem.Click事件實(shí)現(xiàn)20示例:MainMenu設(shè)置控件屬性將TextBox的大小調(diào)整為充滿整個(gè)窗體屬性Anchor(錨定)的作用是在程序運(yùn)行時(shí),保證Anchor所指定的邊和窗體的相對(duì)位置不變由于這里指定了所有4條邊,因此在程序運(yùn)行過程中用戶改變窗口的大小時(shí),TextBox控件也會(huì)隨之改變控件屬性值MainMenuNameMainMenuTextBoxNameTxtEditAnchorTop,Bottom,Left,RightMultilineTrueScrollbarBothText21設(shè)置MainMenu菜單菜單菜單項(xiàng)子菜單項(xiàng)TextNameTextNameShortcutTextNameChecked文件(&F)MenuFile新建MenuFileNew打開MenuFileOpen退出MenuFileExit編輯(&E)MenuEdit撤消MenuEditUndoCtrlZ復(fù)制MenuEditCopyCtrlC剪切MenuEditCutCtrlX粘貼MenuEditPasteCtrlV全選MenuEditSelectAllCtrlA視圖(&V)MenuView工具欄MenuViewTool格式MenuViewToolFormatTrue地址MenuViewToolAddressTrue鏈接MenuViewToolLinkTrue22若在某個(gè)字母下加下劃線,表示可以用Alt鍵和該字母的組合來快捷訪問該菜單(如:&F、&E和&V)可以通過設(shè)置菜單項(xiàng)的Shortcut屬性,為各個(gè)菜單項(xiàng)分別建立快捷鍵(如CtrlZ、CtrlC、CtrlX、CtrlV和CtrlA)若把菜單項(xiàng)的Checked屬性設(shè)置為True,即給菜單項(xiàng)加復(fù)選標(biāo)記,表明該菜單項(xiàng)啟動(dòng)時(shí)是有效的239.5.3編寫菜單項(xiàng)的事件代碼為菜單項(xiàng)添加單擊事件過程代碼窗口——頂端左邊“類名”下拉列表框——選擇菜單項(xiàng)——頂端右邊“方法名稱”下拉列表框——選擇Click事件或雙擊某個(gè)菜單項(xiàng),直接打開Click事件過程24事件處理代碼PrivateSubMenuFileNew_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMenuFileNew.Click

‘文件-新建

TxtEdit.Text=""TxtEdit.Focus() ‘調(diào)用Focus方法,給文本框設(shè)置焦點(diǎn)EndSubPrivateSubMenuFileExit_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMenuFileExit.Click

‘文件-退出

EndEndSub25PrivateSubMenuEditUndo_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMenuEditUndo.Click

‘編輯-撤銷

TxtEdit.Undo() ‘直接調(diào)用TextBox控件的Undo方法EndSubPrivateSubMenuViewToolFormat_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMenuViewToolFormat.Click

‘視圖-工具欄-格式

MenuViewToolFormat.Checked=NotMenuViewToolFormat.CheckedEndSub269.5.4設(shè)計(jì)"上下文"菜單"上下文"菜單(ContextMenu)是右擊鼠標(biāo)時(shí)彈出的菜單ContextMenu控件可以與窗體上的其他控件關(guān)聯(lián),也可以與窗體本身關(guān)聯(lián)"上下文"菜單與窗體或控件關(guān)聯(lián)的方法是使用窗體或控件的ContextMenu屬性把窗體或控件的ContextMenu屬性設(shè)置為自定義的ContextMenu菜單控件名即可27示例:MainMenu從工具箱中將ContextMenu控件放置到窗體上設(shè)置控件屬性設(shè)置ContextMenuEdit菜單項(xiàng)控件屬性值ContextMenuNameContextMenuEditTextBoxNameTxtEditContextMenuContextMenuEditTextNameShortcut撤消CMenuUndoCtrlZ復(fù)制CMenuCopyCtrlC剪切CMenuCutCtrlX粘貼CMenuPasteCtrlV全選CMenuSelectAllCtrlA28事件處理代碼在某些情況下,應(yīng)使相應(yīng)的菜單有效或無效可以為菜單的Popup事件編寫程序,該事件在菜單彈出前發(fā)生在本例中,可檢查TextEdit的屬性SelectionLength若為0,表示當(dāng)前沒有文本被選定,因此將“復(fù)制”和“剪切”的Enabled屬性設(shè)為False,使它們彈出時(shí)是灰色的29PrivateSubMenuEdit_Popup(ByValsenderAsObject,ByVale

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論