版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、主頁主頁 菜單及對(duì)話框都是菜單及對(duì)話框都是windowswindows應(yīng)應(yīng)用程序的常用部件。用程序的常用部件。 應(yīng)用程序通過應(yīng)用程序通過菜單菜單為用戶提供一為用戶提供一組命令。組命令。對(duì)話框?qū)υ捒蚴菓?yīng)用程序與用戶是應(yīng)用程序與用戶交互的主要途徑。交互的主要途徑。主頁主頁 第第1010章章 菜單及對(duì)話框菜單及對(duì)話框菜單設(shè)計(jì)菜單設(shè)計(jì)鍵盤與鼠標(biāo)事件鍵盤與鼠標(biāo)事件對(duì)話框?qū)υ捒?通用通用/ /自定義自定義本章主要內(nèi)容退出退出主頁主頁 窗體和大多數(shù)控件都能響應(yīng)鍵盤和鼠標(biāo)事件窗體和大多數(shù)控件都能響應(yīng)鍵盤和鼠標(biāo)事件 10.1.1 10.1.1 鍵盤事件鍵盤事件 有三種事件處理鍵盤操作有三種事件處理鍵盤操作 1.
2、 keypress1. keypress事件事件 2. keydown2. keydown事件:事件:用戶按下鍵盤上某個(gè)鍵時(shí)觸發(fā)此事件用戶按下鍵盤上某個(gè)鍵時(shí)觸發(fā)此事件 3. keyup3. keyup事件:事件:用戶按下鍵盤上某個(gè)鍵后釋放時(shí)觸發(fā)此事件用戶按下鍵盤上某個(gè)鍵后釋放時(shí)觸發(fā)此事件 10.110.1 鍵盤與鼠標(biāo)事件鍵盤與鼠標(biāo)事件主頁主頁 clickclick、dblclickdblclick、mousemovemousemove、mousedownmousedown和和mouseupmouseup事件事件 當(dāng)移動(dòng)鼠標(biāo)時(shí)發(fā)生當(dāng)移動(dòng)鼠標(biāo)時(shí)發(fā)生mousemove事件事件 當(dāng)按下鼠標(biāo)任意鍵時(shí)發(fā)生
3、當(dāng)按下鼠標(biāo)任意鍵時(shí)發(fā)生mousedown事件,放開鼠標(biāo)鍵時(shí)發(fā)生事件,放開鼠標(biāo)鍵時(shí)發(fā)生mouseup事件事件 后三種事件可以區(qū)分鼠標(biāo)的左、右、中鍵與后三種事件可以區(qū)分鼠標(biāo)的左、右、中鍵與shift、ctrl、alt鍵鍵 private sub 對(duì)象名對(duì)象名_鼠標(biāo)事件鼠標(biāo)事件(button as integer, shift as integer, x as single,y as single) 說明:說明:(1) button參數(shù)參數(shù)表示哪個(gè)鼠標(biāo)鍵被按下或釋放。用表示哪個(gè)鼠標(biāo)鍵被按下或釋放。用0,1,2位分別表示位分別表示鼠標(biāo)的左、右、中鍵,用鼠標(biāo)的左、右、中鍵,用1或或0表示被按下或釋放表示
4、被按下或釋放 (2) shift參數(shù)參數(shù)表示當(dāng)鼠標(biāo)鍵被按下或釋放時(shí),表示當(dāng)鼠標(biāo)鍵被按下或釋放時(shí),shift、ctrl、alt鍵的按下或釋鍵的按下或釋放狀態(tài)。用放狀態(tài)。用0、1、2位表示位表示shift、ctrl、alt鍵鍵 (3) x,y表示鼠標(biāo)指針的當(dāng)前坐標(biāo)位置表示鼠標(biāo)指針的當(dāng)前坐標(biāo)位置 2 1 0 位位 左鍵左鍵右鍵右鍵中鍵中鍵 10.1.210.1.2 鼠標(biāo)事件鼠標(biāo)事件mousemove、mousedown或或mouseup主頁主頁 當(dāng)單擊鼠標(biāo)左鍵時(shí)把按鈕的位置移動(dòng)到鼠標(biāo)指針的位置,單當(dāng)單擊鼠標(biāo)左鍵時(shí)把按鈕的位置移動(dòng)到鼠標(biāo)指針的位置,單擊鼠標(biāo)右鍵時(shí)把按鈕的位置移動(dòng)到窗體的左上角位置(即坐
5、標(biāo)原擊鼠標(biāo)右鍵時(shí)把按鈕的位置移動(dòng)到窗體的左上角位置(即坐標(biāo)原點(diǎn))。以下程序?qū)Ⅻc(diǎn))。以下程序?qū)ousedownmousedown事件與事件與movemove方法結(jié)合起來使用。方法結(jié)合起來使用。 private sub form_mousedown(button as integer, _private sub form_mousedown(button as integer, _ shift as integer, x as single, y as single) shift as integer, x as single, y as single) if button = 1 then i
6、f button = 1 then 單擊鼠標(biāo)左鍵時(shí)單擊鼠標(biāo)左鍵時(shí) command1.move x, y command1.move x, y 移動(dòng)到鼠標(biāo)指針的位置移動(dòng)到鼠標(biāo)指針的位置 elseelse command1.move 0, 0 command1.move 0, 0 移動(dòng)到窗體的左上角移動(dòng)到窗體的左上角 end ifend if end sub end sub 例例10.110.1 實(shí)現(xiàn)命令按鈕位置的移動(dòng)實(shí)現(xiàn)命令按鈕位置的移動(dòng)例例10.1主頁主頁 10.2 10.2 菜單設(shè)計(jì)菜單設(shè)計(jì) 應(yīng)用程序通過菜單為用戶提供一組命令應(yīng)用程序通過菜單為用戶提供一組命令 菜單一般分為兩種:菜單一般分為
7、兩種:下拉式菜單下拉式菜單和和彈出式菜單彈出式菜單 10.2.1 下拉式菜單下拉式菜單 1.下拉式菜單的結(jié)構(gòu)下拉式菜單的結(jié)構(gòu) 下拉式菜單基本結(jié)構(gòu)包括:頂層菜單、菜單項(xiàng)和子菜單下拉式菜單基本結(jié)構(gòu)包括:頂層菜單、菜單項(xiàng)和子菜單子菜單項(xiàng)子菜單項(xiàng)子菜單提示符子菜單提示符訪問鍵訪問鍵快捷鍵快捷鍵分隔線分隔線復(fù)選標(biāo)記復(fù)選標(biāo)記菜單項(xiàng)菜單項(xiàng)頂層菜單頂層菜單例例10.1c主頁主頁 10.2.2 10.2.2 菜單編輯器菜單編輯器 設(shè)計(jì)菜單的工具設(shè)計(jì)菜單的工具菜單編輯器菜單編輯器 菜單編輯器分為上、下兩部分,菜單編輯器分為上、下兩部分,上半部分上半部分用來用來設(shè)置屬性設(shè)置屬性,下下半部分半部分是是菜單顯示區(qū)菜單顯
8、示區(qū),用來顯示用戶輸入的菜單內(nèi)容。,用來顯示用戶輸入的菜單內(nèi)容。 10.2.3 10.2.3 菜單的菜單的clickclick事件事件 除分隔線以外的所有菜單元素都能識(shí)別除分隔線以外的所有菜單元素都能識(shí)別click事件事件主頁主頁例例10.5 編一程序,進(jìn)行兩個(gè)操作數(shù)的算術(shù)運(yùn)算練習(xí)編一程序,進(jìn)行兩個(gè)操作數(shù)的算術(shù)運(yùn)算練習(xí) 設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下: (1)創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對(duì)象屬性創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對(duì)象屬性 菜單欄向用戶菜單欄向用戶提供功能選擇,包括提供功能選擇,包括運(yùn)算數(shù)的位數(shù),運(yùn)算符類型運(yùn)算數(shù)的位數(shù),運(yùn)算符類型(加、減、乘加、減、乘)和和退出程序退出程序 菜單設(shè)計(jì)菜單設(shè)
9、計(jì) 各個(gè)菜單項(xiàng)名稱各個(gè)菜單項(xiàng)名稱例例10.5主頁主頁 (2)編寫程序代碼編寫程序代碼 option explicit 規(guī)定所有變量都要顯式聲明,見規(guī)定所有變量都要顯式聲明,見10.9.1節(jié)節(jié) dim sel1 as integer, sel2 as string dim r1 as long private sub form_load() sel1 = 0 位數(shù)標(biāo)記位數(shù)標(biāo)記 sel2 = 運(yùn)算標(biāo)記運(yùn)算標(biāo)記 randomize end sub private sub mnu11_click() 單擊單擊“一位數(shù)一位數(shù)”菜單項(xiàng)菜單項(xiàng) sel1 = 1 設(shè)置位數(shù)標(biāo)記設(shè)置位數(shù)標(biāo)記 end sub pr
10、ivate sub mnu12_click() 單擊單擊“二位數(shù)二位數(shù)”菜單項(xiàng)菜單項(xiàng) sel1 = 10 end sub主頁主頁private sub mnu13_click() 單擊單擊“三位數(shù)三位數(shù)”菜單項(xiàng)菜單項(xiàng) sel1 = 100end subprivate sub mnu21_click() 單擊單擊“加法加法”菜單項(xiàng)菜單項(xiàng) sel2 = + 設(shè)置運(yùn)算標(biāo)記設(shè)置運(yùn)算標(biāo)記end subprivate sub mnu22_click() 單擊單擊“減法減法”菜單項(xiàng)菜單項(xiàng) sel2 = -end subprivate sub mnu23_click() 單擊單擊“乘法乘法”菜單項(xiàng)菜單項(xiàng) se
11、l2 = *end sub 主頁主頁private sub command1_click() 命題命題按鈕單擊事件按鈕單擊事件 dim a as long, b as long if sel1 = 0 or sel2 = then msgbox 先選擇運(yùn)算數(shù)的位數(shù)和運(yùn)算類型先選擇運(yùn)算數(shù)的位數(shù)和運(yùn)算類型 exit sub end if a = sel1 + int(9 * sel1 * rnd) 根據(jù)指定位數(shù),隨機(jī)生成操作數(shù)根據(jù)指定位數(shù),隨機(jī)生成操作數(shù) b = sel1 + int(9 * sel1 * rnd) text1.text = str(a) + sel2 + str(b) + “=”
12、 根據(jù)操作數(shù)及運(yùn)算類型組成算式根據(jù)操作數(shù)及運(yùn)算類型組成算式 select case sel2 根據(jù)運(yùn)算類型,求運(yùn)算結(jié)果根據(jù)運(yùn)算類型,求運(yùn)算結(jié)果r1 case + r1 = a + b case - r1 = a - b case * r1 = a * b end select text2.text = text2.setfocusend sub菜單操作后菜單操作后sel1 指定位數(shù)指定位數(shù) = 1 一位數(shù)一位數(shù) = 10 二位數(shù)二位數(shù) = 100 三位數(shù)三位數(shù)sel2 指定運(yùn)算類型指定運(yùn)算類型 = “+” 加法加法 = “-” 減法減法 = “*” 乘法乘法主頁主頁private sub co
13、mmand2_click() 答題答題按鈕單擊事件按鈕單擊事件 dim r2 as long if text2.text = then msgbox 請(qǐng)輸入答案請(qǐng)輸入答案 exit sub end if r2 = val(text2.text) 讀取用戶的答案讀取用戶的答案 if r1 = r2 then 判斷答案判斷答案 msgbox 正確正確 else msgbox 錯(cuò)誤錯(cuò)誤 end ifend subprivate sub mnu30_click() “退出退出”菜單命令菜單命令 endend sub主頁主頁 10.2.5 10.2.5 彈出式菜單彈出式菜單 彈出式菜單又稱為快捷菜單???/p>
14、以根據(jù)右擊鼠標(biāo)時(shí)的位置彈出式菜單又稱為快捷菜單??梢愿鶕?jù)右擊鼠標(biāo)時(shí)的位置彈出不同的菜單。彈出不同的菜單。 使用使用vb提供的菜單編輯器,把某個(gè)菜單設(shè)置成隱藏。提供的菜單編輯器,把某個(gè)菜單設(shè)置成隱藏。 創(chuàng)建快捷菜單的步驟如下:創(chuàng)建快捷菜單的步驟如下: (1)使用菜單編輯器設(shè)計(jì)菜單使用菜單編輯器設(shè)計(jì)菜單 (2)設(shè)置頂層菜單項(xiàng)為不可見設(shè)置頂層菜單項(xiàng)為不可見,即不選中菜單編輯器里的,即不選中菜單編輯器里的“可見可見”選項(xiàng)或在屬性窗口中設(shè)定選項(xiàng)或在屬性窗口中設(shè)定visible屬性為屬性為false (3)編寫與彈出式菜單相關(guān)聯(lián)的編寫與彈出式菜單相關(guān)聯(lián)的mouseup(釋放鼠標(biāo)釋放鼠標(biāo))事件過程事件過程。
15、格式為:格式為: 對(duì)象對(duì)象 popupmenu 菜單名菜單名 , 位置常數(shù)位置常數(shù), 橫坐標(biāo)橫坐標(biāo), 縱坐標(biāo)縱坐標(biāo)主頁主頁例例10.6 10.6 在例在例10.510.5的基礎(chǔ)上,把的基礎(chǔ)上,把“位數(shù)位數(shù)”菜單改為快捷菜單菜單改為快捷菜單 (1)打開例打開例10.8的應(yīng)用程序,選定窗體,然后在菜單編輯器中將的應(yīng)用程序,選定窗體,然后在菜單編輯器中將“位數(shù)位數(shù)”菜單標(biāo)題的菜單標(biāo)題的“可見可見”框中的框中的“”取消取消(即不選中即不選中) (2)增加以下的增加以下的mouseup事件過程代碼:事件過程代碼: private sub form_mouseup(button as integer, _
16、shift as integer, x as single, y as single)if button = 2 then 檢查是否右擊檢查是否右擊,擊左鍵為擊左鍵為1popupmenu mnu10end if end sub 程序運(yùn)行時(shí),右擊窗體空白處,即會(huì)彈出快捷菜單,如圖程序運(yùn)行時(shí),右擊窗體空白處,即會(huì)彈出快捷菜單,如圖10.12所示所示例例10.6例例10.5a主頁主頁 彈出式彈出式 菜單菜單主頁主頁10.3 10.3 對(duì)話框?qū)υ捒?對(duì)話框?qū)υ捒?dialogbox)是應(yīng)用程序與用戶進(jìn)行交互的主要途徑。是應(yīng)用程序與用戶進(jìn)行交互的主要途徑。 三種對(duì)話框:三種對(duì)話框: (1)預(yù)定義對(duì)話框預(yù)
17、定義對(duì)話框 使用函數(shù)使用函數(shù)inputbox和和msgbox來實(shí)現(xiàn)。來實(shí)現(xiàn)。 (2)通用對(duì)話框通用對(duì)話框 通用對(duì)話框是一種通用對(duì)話框是一種activex控件,在使用之前,應(yīng)選擇控件,在使用之前,應(yīng)選擇“工工程程”菜單中的菜單中的“部件部件”命令先將其添加到工具箱中命令先將其添加到工具箱中 (選中選中“microsoft common dialog control 6.0” ) 利用通用對(duì)話框能夠創(chuàng)建下列六種標(biāo)準(zhǔn)對(duì)話框利用通用對(duì)話框能夠創(chuàng)建下列六種標(biāo)準(zhǔn)對(duì)話框(指定相應(yīng)的參數(shù),指定相應(yīng)的參數(shù),p233): 打開打開(open),另存為,另存為(save as),顏色,顏色(color) 字體字體(
18、font),打印機(jī),打印機(jī)(printer),幫助,幫助(help) (3)用戶自定義對(duì)話框用戶自定義對(duì)話框 建立一個(gè)窗體,把窗體設(shè)置成對(duì)話框特性(沒有控制菜單框、建立一個(gè)窗體,把窗體設(shè)置成對(duì)話框特性(沒有控制菜單框、最大化及最小化按鈕,不能改變其大小,最大化及最小化按鈕,不能改變其大小,見表見表10.3) 在窗體上根據(jù)需要放置控件在窗體上根據(jù)需要放置控件主頁主頁附錄附錄 使用使用webbrowserwebbrowser控件制作控件制作一個(gè)簡(jiǎn)易的一個(gè)簡(jiǎn)易的webweb瀏覽器瀏覽器 在在“部件部件”對(duì)話框的對(duì)話框的“控件控件”選項(xiàng)卡中選上選項(xiàng)卡中選上“microsoft microsoft internet controls”internet controls”,把該控件添加到,把該控件添加到vbvb工具欄中。工具欄中。 設(shè)計(jì)時(shí),在窗體上添加設(shè)計(jì)時(shí),在窗體上添加webbrowsewebbrowse控件和框架控件和框架frameframe控件。在控件。在frameframe控件上添加一個(gè)標(biāo)簽控件上添加一個(gè)標(biāo)簽label1label1(顯示文字(顯示文字“地址地址”)、一個(gè))、一個(gè)文本框文本框text1text1(用于輸入(用于輸入urlurl地址)和一個(gè)命令按鈕地址)和一個(gè)命令按鈕command1command1(“轉(zhuǎn)到轉(zhuǎn)到”) webbrowserwebbrowser控件控件框架
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025便利店智能支付系統(tǒng)引入合同3篇
- 二零二五版游泳教學(xué)服務(wù)合同模板
- 2025年度消防演練場(chǎng)地租賃與組織服務(wù)合同3篇
- 二零二五年度水電設(shè)備調(diào)試與性能檢測(cè)合同3篇
- 專業(yè)化電力工程服務(wù)協(xié)議模板2024版
- 二零二五年電子商務(wù)平臺(tái)數(shù)據(jù)加密與傳輸安全合同3篇
- 2024消防系統(tǒng)安裝及消防安全培訓(xùn)與演練合同3篇
- 濰坊環(huán)境工程職業(yè)學(xué)院《美術(shù)學(xué)科發(fā)展前沿專題》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024版信用卡貸款服務(wù)合同范本3篇
- 二零二五年度數(shù)據(jù)中心承包協(xié)議及范本2篇
- 蘇北四市(徐州、宿遷、淮安、連云港)2025屆高三第一次調(diào)研考試(一模)語文試卷(含答案)
- 第7課《中華民族一家親》(第一課時(shí))(說課稿)2024-2025學(xué)年統(tǒng)編版道德與法治五年級(jí)上冊(cè)
- 急診科十大護(hù)理課件
- 山東省濟(jì)寧市2023-2024學(xué)年高一上學(xué)期1月期末物理試題(解析版)
- GB/T 44888-2024政務(wù)服務(wù)大廳智能化建設(shè)指南
- 2025年上半年河南鄭州滎陽市招聘第二批政務(wù)輔助人員211人筆試重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 山東省濟(jì)南市歷城區(qū)2024-2025學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)模擬試題(無答案)
- 國家重點(diǎn)風(fēng)景名勝區(qū)登山健身步道建設(shè)項(xiàng)目可行性研究報(bào)告
- 投資計(jì)劃書模板計(jì)劃方案
- 《接觸網(wǎng)施工》課件 3.4.2 隧道內(nèi)腕臂安裝
- 2024-2025學(xué)年九年級(jí)語文上學(xué)期第三次月考模擬卷(統(tǒng)編版)
評(píng)論
0/150
提交評(píng)論