键盘滑鼠功能表_第1页
键盘滑鼠功能表_第2页
键盘滑鼠功能表_第3页
键盘滑鼠功能表_第4页
键盘滑鼠功能表_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章鍵盤滑鼠功能表 Visual Basic 6.0 學習範本1鍵盤事件透過文字方塊物件可處理使用者由鍵盤輸入的資料。 有時候要處理一些較特殊的按鍵或組合按鍵時,或要檢查到底是按下了那個按鍵,就必須以更直接的方式來處理。鍵盤的處理工作:事件名稱說 明物件_KeyPress在指定物件上收到由鍵盤按鍵的字元。僅能回應按鍵動作,無法判斷目前按鍵是否按住或放開。物件_KeyDown在指定物件上偵測到鍵盤有鍵被按住。物件_KeyUp在指定物件上偵測到鍵盤上被按住的鍵已放開2KeyPress 事件合法的按鍵KeyAscii碼值1. 可顯示的鍵盤字元字元的ASCII碼2. Ctrl + A 至 Ctrl

2、+ Z1至263. Enter 和 Ctrl + Enter 13和104. BackSpace 和 Ctrl + BackSpace8(倒退鍵)和1275. 空白鍵9KeyPress 動作3KeyPress 語法 Private Sub物件_KeyPress(KeyAscii As Integer) 【說明】1. KeyAscii:傳回鍵盤上被按下鍵的ASCII碼。2. 如果在該事件程序中,有更改KeyAscii參數內容,則顯示的字元亦跟著更改。3. 若將KeyAscii的內容設為0,會清除剛才輸入的字元。4設計三個文字方塊,分別對鍵入的字元加以限制,如下圖所示(程式碼請參照光碟)1. 在第

3、一個文字方塊內,允許鍵入任意字元,但只將小寫字母改成大寫,其它字元維持不變。 2. 在第二個文字方塊內方式同上,但只將大寫字母改成小寫字元,其它字元維持不變。 3. 在第三個文字方塊內,只允許鍵入數字及小數點(如3.14159),如果鍵入的不是數字,則游標不移動且不顯示所鍵入的文字。5lblBigChlblSmallChlblOnlyNumcmdClstxtBigChtxtSmallChtxtOnlyNumcmdEnd物件 屬性預設名稱Name(物件名稱)Caption(標題)Text(文字)Font/大小(字型大小)Form1f8_2_1f8_2_1(預設值)Label1lblBigCh英文

4、字大寫顯示:12Label2lblSmallCh英文字小寫顯示:12Label3lblOnlyNum只能鍵入數字:12Text1txtBigCh12Text2txtSmallCh12Text3txtOnlyNum12Command1cmdCls清除12Command2cmdEnd結束126KeyDown 和 KeyUp 事件1.KeyDown動作當你正按下鍵盤按鍵不放的時候,就會觸動KeyDown 事件。2.KeyUp動作當你放開已按下的鍵盤按鍵時,就會觸動KeyUp事件注意:1.KeyUp和KeyDown事件程序能處理KeyPress事件所無法處理的按鍵,如功能鍵、編輯鍵和組合鍵。2. Ke

5、yPress事件可以傳回一個字元的ASCII鍵碼,但是無法得知目前鍵盤是持續按著,還是按一下就放開。3.如輸入一個字元,則三個事件的發生順序為KeyDown事件,接著為KeyPress事件,最後是KeyUp事件。7鍵盤掃瞄碼(KeyCode)說明:1. 字母、數字鍵對應的掃描碼如下: 按鍵掃瞄碼AZ65900948572. 鍵盤最右邊九宮格方向鍵對應的掃描碼如下: 3638337Home89PgUp3712394563540341End23PgDn掃描碼掃描碼掃描碼Private Sub物件_KeyDown(KeyCode As Integer , Shift As Integer)Priva

6、te Sub物件_KeyUp(KeyCode As Integer , Shift As Integer)8k 字母、數字鍵的掃描碼如下: 按鍵掃瞄碼AZ6590az97122094857l 一般特殊鍵的掃描碼如下: 112 113F1F22. Shift:此傳回值為 , , 三種鍵是否被按下的情形,如下: Shift值鍵盤上被按下的鍵0此三種鍵沒被按下1 鍵被按下2鍵被按下3 與 鍵同時被按下4 鍵被按下5 與 鍵同時被按下6 與 鍵同時被按下7, 三鍵同時被按下9透過按鍵盤的方向鍵,來控制圖片移動的方向。(程式碼請參照光碟) 按住鍵盤上 任何一個方向鍵時,上圖汽車圖片會隨按鍵的方向移動。例

7、如下圖是按住鍵盤 鍵,圖片向右移動情形,並且將參數的KeyCode與Shift傳回值顯示出來。 若放開按下之方向鍵,則汽車圖片立即返回起始位置。10 picCar cmdEnd物件 屬性預設名稱Form1Picture1Command1Name(物件名稱)f8_3_1picCarcmdEndCaption(標題)f8_3_1結束Font/大小(字型大小)(預設值)(預設值)12Picture(圖形)點陣圖BorderStyle(邊界形式)(預設值)0-None11滑鼠介紹事件名稱說 明物件_Click在物件上按滑鼠左鍵一下。物件_DblClick在物件上快按滑鼠左兩下。物件_MouseDown

8、在物件上測到有滑鼠鍵被按住。物件_MouseMove在物件上測到滑鼠正在移動。物件_MouseUp在物件上測到已按住之滑鼠鍵被放開12Click 事件使用時機:1. 用來選取物件移動滑鼠指標到某個圖示上按一下,使圖示名稱反白,或從表列清單方塊中的某選項上按一下使該選項反白。2. 使物件獲得控制權,以利由鍵盤鍵入資料如移動滑鼠指標到文字方塊內,按一下滑鼠左鍵,使文字方塊內出現閃爍的插入點游標。3. 執行指令如按指令按鈕、圖示鈕或功能表內指令選項。13DbClick 事件使用時機:1. 開啟資料夾視窗如:移動滑鼠到我的電腦圖示上快按滑鼠二下,開啟我的電腦視窗。2. 執行應用程式如:移動滑鼠到檔案總

9、管中小畫家程式圖示上快按滑鼠二下,執行小畫家程式。 3. 快速選取清單方塊選項如:若要安裝一個HPLaserJet 5P印表機,可以先選取 開始/設定(S)/印表機(P) 指令,按二下新增印表機在製告廠商(M)清單中選HP,然後在印表機(P)清單中選取HP LaserJet 5P項目,再按 鈕進行下一步設定;另一種方式是直接在HP LaserJET 5P項目上按二下直接選取後進行下一步驟。14MouseDown、MouseUp 與 MouseClick 事件 Private Sub物件_MouseMove(Button As Integer, Shift As Integer, X As Si

10、ngle, Y As Single)Private Sub物件_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Private Sub物件_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Button的值被按下或放開之滑鼠鍵0沒有滑鼠被按下(此值只有在MouseMove事件存在)。1按左鍵。2按右鍵。4按中間鍵。 1. Button參數:表示滑鼠被按下或放開的狀態,如下:15 2. Shift參數:當滑鼠被按

11、下或放開時,鍵盤 , 或 是否同時被按下: Shift的值鍵盤上被按之鍵0 , , 三鍵皆沒按。 1 鍵。2 鍵。4 鍵。 3. X參數:表示當滑鼠鍵被按下或放開時,指標所在的X坐標值。 4.Y參數:表示當滑鼠鍵被按下或放開時,指標所在的Y坐標值。 16設計一個能利用滑鼠來畫直線與方框的繪圖程式,如下圖所示(程式碼請參照光碟) 1. 程式啟動後,出現一個空白的表單和 鈕。2. 移動滑鼠指標到表單內任一位置,按一下滑鼠左鍵,繪出一點。而且該點可以是畫直線的起點或是畫方框頂角的起點。3. 畫直線:若接著在表單內移動滑鼠到其它空白位 置,按一下滑鼠右鍵,繪出一條直線。4. 結 束:按 鈕,結束程式執

12、行。17 cmdEnd物件 屬性預設名稱Name(物件名稱)Caption(標題)Font/大小(字型大小)Form1f8_7_1f8_7_1(預設值)Command1cmdEnd結束1218拖曳與放置1.手動模式:在按住物件移動滑鼠時並不會馬上有拖曳效果,需在程式中使用Drag方法來設定物件是否可被拖曳。2.自動模式:只要按住物件移動滑鼠即可有拖曳效果。設計拖曳與放下過程的程式碼,和下表中的兩個屬性、兩項事件和一個方法有關: 項目類型說明DragMode屬性設定物件被拖曳的模式。有兩個設定值,如下:0由程式碼控制(預設值)1自動DragIcon屬性當物件被拖曳時,要用什麼圖示來顯示。若無設定

13、(none)則以箭頭指標搭配灰色方框。DragDrop事件當拖曳甲物件至乙物件處放下甲物件時,觸動乙物件對該事件的反應。DragOver事件當拖曳甲物件越過乙物件上方時,觸動乙物件對該事件的反應。Drag方法Drag方法可用來設定物件可否被拖曳。19DragDrop 事件Private Sub 物件_DragDrop(Source As Control , X As Single , Y As Single)【說明】1. 物件:指目的物件,可包含控制項、表單。2. Source:指來源物件所代表的名稱,即被拖曳之控制項。Source As Contrl就是宣告Source變數為一控制項。3.

14、X,Y:為目前指標的坐標。20DragOver 事件Private Sub 物件_DragOver(Source As Control, X As Single, Y As Single,State As Integer) DragOver事件比DragDrop多一個State參數,其參數值所代表意義如下:State值說明0進入,即指標剛進入物件的範圍。1離開,即指標剛離開物件的範圍。2越過,即指標在物件範圍內移動。21自動模式若物件之DragMode屬性內容被設定為1-自動,則物件在拖曳期間物件呈灰色方框。設計一個能在自動模式下拖曳汽車圖片,並將該圖片放入空白圖片方塊內的程式 (程式碼請參照

15、光碟) 1. 拖曳汽車圖示的過程如下圖所示。 2. 將汽車圖示拖曳至目的地(即空白圖片方塊內),如下圖所示: 22picSourcecmdEndpicTarget 屬性物件預設名稱Form1Picture1Picture2Command1Name(物件名稱)f8_8_1picSourcepicTargetcmdEndCaption(標題)f8_8_1結束BorderStyle(邊界形式)(預設值)0-不加邊框(預設值)Picture(圖形)點陣圖(預設值)DragMode(拖曳模式)(預設值)1-自動(預設值)(預設值)23手動模式把物件之DragMode屬性設定為0-手動,物件就在固定位置,

16、無法像自動模式一樣隨時被拖曳。若某物件需要被拖曳,則就須由程式來控制。語法如下:物件.Drag Action1. Action為決定物件是否能被拖曳的動作值 Action的值動 作 說 明0取消拖曳。若在拖曳期間執行此敘述,則拖曳失效,物件回原處。1允許拖曳。2結束拖曳,並觸動DragDrop事件。2. 宣告允許拖曳最適當的時機是按下滑鼠鍵時。即在物件 _MouseDown事件程序中下達 物件.Drag 1的敘述。3. 宣告結束拖曳最適當的時機是放開滑鼠鍵時,即在物件_MouseUp事件程序中下達 物件.Drag 2的敘述。 24在手動模式下,拖曳資料夾圖示,觀察它越過資料夾櫃子不破壞背景圖和

17、將資料夾放入櫃子情形。 (程式碼請參照光碟) 1. 程式執行時,資料夾圖示在表單左上方,二個資料夾櫃子在右邊,其中一個未打開抽屜圖示,一個打開下面抽屜圖示,如下圖所示:2. 按鈕,資料夾圖下移,而未打開抽屜資料夾櫃圖示移至中間位置, 而打開抽屜資料夾櫃圖示隱藏不顯示於表單中,如下圖所示: 25 3. 滑鼠指標移至資料夾圖示上,按滑鼠左鍵不放,拖 曳滑鼠,則資料夾圖隨著滑鼠移動而改變位置。 4. 資料夾圖示移至表單內空白處時,放開滑鼠按鍵, 則資料夾圖示停留在新位置。 5. 拖曳資料夾圖示時,當滑鼠指標(螢幕並未顯示滑 鼠指標形狀)剛進入資料夾櫃子時,在櫃子下面的 標籤上顯示進入文字,只是在櫃子

18、邊緣線才會 顯示,若移動滑鼠太快會看不清楚。26 6. 拖曳資料夾圖示時,當滑鼠指標在櫃子圖示中時,在 標籤上顯示越過文字。此時櫃子圖示改為有打開 抽屜木櫃圖示。 7. 拖曳資料夾圖示時,當滑鼠指標離開櫃子圖示時,標 籤上顯示離開文字。 8. 何時進入進入,何時才算越過,何時為 離開決定於滑鼠指標箭頭末端點的位置,而不是資 料夾的邊緣。 9. 拖曳資料夾圖示之滑鼠指標在櫃子內,標籤上顯示 越過文字,此時放開滑鼠按鍵,則打開抽屜櫃子圖 示改為未打開抽屜櫃子圖示,標籤顯示放下文字10. 再按鈕,標籤清為空白,而資料夾圖示移至表 單左方位置。27imgFolderimgSourceimgTargetcmdStartim

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论