VB語(yǔ)言第10章教案資料_第1頁(yè)
VB語(yǔ)言第10章教案資料_第2頁(yè)
VB語(yǔ)言第10章教案資料_第3頁(yè)
VB語(yǔ)言第10章教案資料_第4頁(yè)
VB語(yǔ)言第10章教案資料_第5頁(yè)
已閱讀5頁(yè),還剩13頁(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)介

VB語(yǔ)言第10章教案資料第一頁(yè),共18頁(yè)。

第10章

菜單及對(duì)話框菜單設(shè)計(jì)鍵盤與鼠標(biāo)事件對(duì)話框通用/自定義本章主要內(nèi)容退出第一頁(yè)第二頁(yè),共18頁(yè)。

窗體和大多數(shù)控件都能響應(yīng)鍵盤和鼠標(biāo)事件

10.1.1鍵盤事件

有三種事件處理鍵盤操作

1.KeyPress事件2.KeyDown事件:用戶按下鍵盤上某個(gè)鍵時(shí)觸發(fā)此事件

3.KeyUp事件:用戶按下鍵盤上某個(gè)鍵后釋放時(shí)觸發(fā)此事件

10.1

鍵盤與鼠標(biāo)事件第二頁(yè)第三頁(yè),共18頁(yè)。

Click、DblClick、MouseMove、MouseDown和MouseUp事件當(dāng)移動(dòng)鼠標(biāo)時(shí)發(fā)生MouseMove事件當(dāng)按下鼠標(biāo)任意鍵時(shí)發(fā)生MouseDown事件,放開(kāi)鼠標(biāo)鍵時(shí)發(fā)生MouseUp事件后三種事件可以區(qū)分鼠標(biāo)的左、右、中鍵與Shift、Ctrl、Alt鍵

PrivateSub對(duì)象名_鼠標(biāo)事件(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)說(shuō)明:(1)Button參數(shù)表示哪個(gè)鼠標(biāo)鍵被按下或釋放。用0,1,2位分別表示鼠標(biāo)的左、右、中鍵,用1或0表示被按下或釋放(2)Shift參數(shù)表示當(dāng)鼠標(biāo)鍵被按下或釋放時(shí),Shift、Ctrl、Alt鍵的按下或釋放狀態(tài)。用0、1、2位表示Shift、Ctrl、Alt鍵(3)X,Y表示鼠標(biāo)指針的當(dāng)前坐標(biāo)位置210位

······左鍵右鍵中鍵

10.1.2鼠標(biāo)事件MouseMove、MouseDown或MouseUp第三頁(yè)第四頁(yè),共18頁(yè)。當(dāng)單擊鼠標(biāo)左鍵時(shí)把按鈕的位置移動(dòng)到鼠標(biāo)指針的位置,單擊鼠標(biāo)右鍵時(shí)把按鈕的位置移動(dòng)到窗體的左上角位置(即坐標(biāo)原點(diǎn))。以下程序?qū)ouseDown事件與Move方法結(jié)合起來(lái)使用。PrivateSubForm_MouseDown(ButtonAsInteger,_ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1Then'單擊鼠標(biāo)左鍵時(shí)Command1.MoveX,Y'移動(dòng)到鼠標(biāo)指針的位置ElseCommand1.Move0,0'移動(dòng)到窗體的左上角EndIfEndSub例10.1

實(shí)現(xiàn)命令按鈕位置的移動(dòng)例10.1第四頁(yè)第五頁(yè),共18頁(yè)。

10.2菜單設(shè)計(jì)

應(yīng)用程序通過(guò)菜單為用戶提供一組命令菜單一般分為兩種:下拉式菜單和彈出式菜單

10.2.1下拉式菜單

1.下拉式菜單的結(jié)構(gòu)下拉式菜單基本結(jié)構(gòu)包括:頂層菜單、菜單項(xiàng)和子菜單子菜單項(xiàng)子菜單提示符訪問(wèn)鍵快捷鍵分隔線復(fù)選標(biāo)記菜單項(xiàng)頂層菜單例10.1c第五頁(yè)第六頁(yè),共18頁(yè)。10.2.2菜單編輯器

設(shè)計(jì)菜單的工具——菜單編輯器菜單編輯器分為上、下兩部分,上半部分用來(lái)設(shè)置屬性,下半部分是菜單顯示區(qū),用來(lái)顯示用戶輸入的菜單內(nèi)容。10.2.3菜單的Click事件

除分隔線以外的所有菜單元素都能識(shí)別Click事件第六頁(yè)第七頁(yè),共18頁(yè)。例10.5編一程序,進(jìn)行兩個(gè)操作數(shù)的算術(shù)運(yùn)算練習(xí)

設(shè)計(jì)步驟如下:

(1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對(duì)象屬性菜單欄向用戶提供功能選擇,包括運(yùn)算數(shù)的位數(shù),運(yùn)算符類型(加、減、乘)和退出程序菜單設(shè)計(jì)各個(gè)菜單項(xiàng)名稱例10.5第七頁(yè)第八頁(yè),共18頁(yè)。

(2)編寫程序代碼OptionExplicit‘規(guī)定所有變量都要顯式聲明,見(jiàn)10.9.1節(jié)Dimsel1AsInteger,sel2AsStringDimr1AsLong

PrivateSubForm_Load()sel1=0'位數(shù)標(biāo)記sel2=""'運(yùn)算標(biāo)記Randomize

EndSubPrivateSubMnu11_Click()‘單擊“一位數(shù)”菜單項(xiàng)sel1=1'設(shè)置位數(shù)標(biāo)記

EndSubPrivateSubMnu12_Click()‘單擊“二位數(shù)”菜單項(xiàng)sel1=10

EndSub第八頁(yè)第九頁(yè),共18頁(yè)。PrivateSubMnu13_Click()‘單擊“三位數(shù)”菜單項(xiàng)sel1=100EndSubPrivateSubMnu21_Click()‘單擊“加法”菜單項(xiàng)sel2="+"'設(shè)置運(yùn)算標(biāo)記EndSubPrivateSubMnu22_Click()‘單擊“減法”菜單項(xiàng)sel2="-"EndSubPrivateSubMnu23_Click()‘單擊“乘法”菜單項(xiàng)

sel2="*"EndSub第九頁(yè)第十頁(yè),共18頁(yè)。PrivateSubCommand1_Click()

'"命題"按鈕單擊事件DimaAsLong,bAsLongIfsel1=0Orsel2=""ThenMsgBox"先選擇運(yùn)算數(shù)的位數(shù)和運(yùn)算類型"ExitSubEndIfa=sel1+Int(9*sel1*Rnd)‘根據(jù)指定位數(shù),隨機(jī)生成操作數(shù)b=sel1+Int(9*sel1*Rnd)Text1.Text=Str(a)+sel2+Str(b)+“=”‘根據(jù)操作數(shù)及運(yùn)算類型組成算式SelectCasesel2‘根據(jù)運(yùn)算類型,求運(yùn)算結(jié)果r1Case"+"r1=a+bCase"-"r1=a-bCase"*"r1=a*bEndSelectText2.Text=""Text2.SetFocusEndSub菜單操作后Sel1指定位數(shù)=1一位數(shù)=10二位數(shù)=100三位數(shù)Sel2指定運(yùn)算類型=“+”加法=“-”減法=“*”乘法第十頁(yè)第十一頁(yè),共18頁(yè)。PrivateSubCommand2_Click()

'"答題"按鈕單擊事件Dimr2AsLongIfText2.Text=""ThenMsgBox"請(qǐng)輸入答案"ExitSubEndIfr2=Val(Text2.Text)'讀取用戶的答案Ifr1=r2Then'判斷答案MsgBox"正確"ElseMsgBox"錯(cuò)誤"EndIfEndSubPrivateSubMnu30_Click()‘“退出”菜單命令EndEndSub第十一頁(yè)第十二頁(yè),共18頁(yè)。10.2.5

彈出式菜單

彈出式菜單又稱為快捷菜單。可以根據(jù)右擊鼠標(biāo)時(shí)的位置彈出不同的菜單。使用VB提供的菜單編輯器,把某個(gè)菜單設(shè)置成隱藏。

創(chuàng)建快捷菜單的步驟如下:(1)使用菜單編輯器設(shè)計(jì)菜單

(2)設(shè)置頂層菜單項(xiàng)為不可見(jiàn),即不選中菜單編輯器里的“可見(jiàn)”選項(xiàng)或在屬性窗口中設(shè)定Visible屬性為False(3)編寫與彈出式菜單相關(guān)聯(lián)的MouseUp(釋放鼠標(biāo))事件過(guò)程。格式為:

[對(duì)象]PopupMenu菜單名[,位置常數(shù)][,橫坐標(biāo)[,縱坐標(biāo)]]]第十二頁(yè)第十三頁(yè),共18頁(yè)。例10.6在例10.5的基礎(chǔ)上,把“位數(shù)”菜單改為快捷菜單

(1)打開(kāi)例10.8的應(yīng)用程序,選定窗體,然后在菜單編輯器中將“位數(shù)”菜單標(biāo)題的“可見(jiàn)”框中的“√”取消(即不選中)(2)增加以下的MouseUp事件過(guò)程代碼:

PrivateSubForm_MouseUp(ButtonAsInteger,_ShiftAsInteger,XAsSingle,YAsSingle)

IfButton=2Then‘檢查是否右擊,擊左鍵為1PopupMenumnu10EndIfEndSub

程序運(yùn)行時(shí),右擊窗體空白處,即會(huì)彈出快捷菜單,如圖10.12所示例10.6例10.5A第十三頁(yè)第十四頁(yè),共18頁(yè)。

彈出式菜單第十四頁(yè)第十五頁(yè),共18頁(yè)。10.3對(duì)話框

對(duì)話框(DialogBox)是應(yīng)用程序與用戶進(jìn)行交互的主要途徑。三種對(duì)話框:

(1)預(yù)定義對(duì)話框

使用函數(shù)InputBox和MsgBox來(lái)實(shí)現(xiàn)。(2)通用對(duì)話框通用對(duì)話框是一種ActiveX控件,在使用之前,應(yīng)選擇“工程”菜單中的“部件”命令先將其添加到工具箱中

溫馨提示

  • 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)論