1 / 36

VB6 常用事件

VB6 常用事件. 鍵盤事件. 鍵盤介紹 主要資訊輸入的來源 鍵盤排列方式的由來 標準的打字機鍵盤(稱為 QWERTY ,係因上排的字母順序得名)的字鍵配置,相信您也發現了它的設計並不理想,一些常用的文字(英文字母)分派給最弱且最慢的手指,常見的文字組合又交由同一隻手在執行,在在減緩了打字員的敲鍵率。 為何設計者要設計這麼笨的鍵盤呢?其實他一點也不笨,因為, QWERTY 鍵盤的設計事實上就是要減緩打字員的速度,當時機械式的打字機其機構運作的速度跟不上人們的敲字速度,常會發生卡鍵的問題, QWERTY 鍵盤減慢了打字的速度,也因此降低了卡鍵的頻率。. 鍵盤事件 ( 續 ).

Download Presentation

VB6 常用事件

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VB6 常用事件

  2. 鍵盤事件 • 鍵盤介紹 • 主要資訊輸入的來源 • 鍵盤排列方式的由來 • 標準的打字機鍵盤(稱為QWERTY,係因上排的字母順序得名)的字鍵配置,相信您也發現了它的設計並不理想,一些常用的文字(英文字母)分派給最弱且最慢的手指,常見的文字組合又交由同一隻手在執行,在在減緩了打字員的敲鍵率。 • 為何設計者要設計這麼笨的鍵盤呢?其實他一點也不笨,因為,QWERTY鍵盤的設計事實上就是要減緩打字員的速度,當時機械式的打字機其機構運作的速度跟不上人們的敲字速度,常會發生卡鍵的問題,QWERTY鍵盤減慢了打字的速度,也因此降低了卡鍵的頻率。

  3. 鍵盤事件(續) • VB常用的鍵盤事件(keyboard Events) • KeyPress • 在指定物件上收到由鍵盤按鍵的字元。僅能回應按鍵動作,無法判斷目前按鍵是否按住或放開 • KeyDown • 在指定物件上測到鍵盤有鍵被按住 • KeyUp • 在指定物件上測到鍵盤被按住的鍵已放開

  4. 鍵盤事件(續) • KeyPress • 當有按下鍵盤的動作產生時,就會觸發KeyPress 與 KeyDown 事件,放開鍵盤後處發 KeyUp 事件,但是,按下的鍵若是具有KeyAscii 碼的按鍵,KeyPress事件才會有效 • 合法的KeyAscii按鍵

  5. 美國標準交換碼(ASCII)

  6. 美國標準交換碼(ASCII)

  7. 鍵盤事件(續) • KeyDown、KeyUp • 可以使用 KeyDown 和 KeyUP 事件程序來處理 KeyPress 無法辨識的按鍵訊息,例如:功能鍵(F1 到 F12)、編輯鍵( INSERT、DELETE 或 BACKSPACE)、巡覽鍵,以及組合鍵等。與 KeyDown 和 KeyUp 事件不同的是,KeyPress 不顯示鍵盤的實際狀態,而只是傳遞一個字元。

  8. 鍵盤事件(續) • Change • 指示一個控制項的內容已經改變。此事件是如何及何時發生的,則隨控制項的不同而有所差異: • ComboBox - 改變控制項的文字方塊部分的文字。該事件僅在 Style 屬性設定為 0 (Dropdown Combo) 或 1 (Simple Combo) 以及當文字被改變,或者藉程式碼改變了 Text 屬性設定時才會發生。 • DirListBox - 改變所選擇的目錄。該事件發生在按兩下新目錄,或以程式碼改變 Path 屬性設定時。 • DriveListBox - 改變所選擇的磁碟機。該事件發生在選擇了新磁碟機,或以程式碼改變 Drive 屬性設定時。 • HScrollBar 和 VScrollBar (水平和垂直捲軸) - 移動捲軸的捲動方塊部份。該事件發生在捲動或以程式碼改變 Value 屬性設定時。 • Label - 改變 Label 的內容。該事件發生在 DDE 連結更新資料,或以程式碼改變 Caption 屬性設定時。 • PictureBox - 改變 PictureBox 的內容。該事件發生在 DDE 連結更新資料,或以程式碼改變 Picture屬性設定時。 • TextBox - 改變文字方塊的內容。該事件發生在 DDE 連結更新資料、使用者改變文字,或以程式碼改變 Text 屬性設定時。

  9. 牛刀小試(1) • 設計一程式,模擬電子看板,當按下‘a’鍵時,看板向左移動;按下‘d’鍵時,看板向右移動;按下‘s’鍵時,看板停止移動;按下‘q’鍵時結束程式執行

  10. 牛刀小試(1)---續 Label *2 Timer *1

  11. 牛刀小試(1)---續 • 屬性設定 • Label (Label1~2) • Caption • Label1:歡迎蒞臨空軍防警司令部 • Label2:‘a’ 左移 ‘d’ 右移 ‘s’ 停止 ‘q’ 結束 • Font • Label1:標楷體18號字加粗 • Label2:新細明體14號字 • ForeColor:Label1藍色 • Timer (Timer1) • Interval:0

  12. A  65 a97 D  68 d 100 S  83 s 115 Q 81 q  113 牛刀小試(1)---續 當按下按鍵a或A時,令Label1的Tag 屬性為1,每0.1秒執行Timer1一次 當按下按鍵d或D時,令Label1的Tag 屬性為2,每0.1秒執行Timer1一次 當按下按鍵s或S時,令Timer1的 Interval屬性為0 當按下按鍵q或Q時,停止程式執行 假如Label1的Tag屬性為1時,Label1 向左移動30點(Twips) ,假如Label1 的Tag屬性為2時,Label1向右移動30 點(Twips) ,

  13. 牛刀小試(2) • 設計一程式,當按下方向鍵左鍵()時,人物圖形向左邊行進,當按下右鍵()時,人物圖形向右邊行進,當按下向下鍵()時,人物圖形向前方行進,按下向上鍵時()時,人物圖形向後方行進,當按下s鍵時,停止行進,當按下Esc鍵時,結束程式執行

  14. 牛刀小試(2)---續 PictureBox *1 Timer *1

  15. 牛刀小試(2)---續 • 屬性設定 • Form (Form1) • KeyPreview:True • BackColor:白色 • PictureBox (Picture1) • AutoSize:True • BackColor:白色 • BorderStyle:0-沒有框線 • Timer (Timer1) • Interval:250

  16. 牛刀小試(2)---續 實際我只畫了五張圖案 ,其餘的都是使用左右 反向的方法所建立的 • 準備圖案 stand.bmp front1.bmp front2.bmp back1.bmp back2.bmp left1.bmp left2.bmp right1.bmp right2.bmp

  17. 牛刀小試(2)---續 宣告兩個全域變數ttt(用以紀錄所按的方向鍵)與 g(用以進行圖片切換) 當按下左方向鍵(37)時,令ttt=1(代表按下左鍵) ,圖片從 Left1.bmp開始顯示,並啟動計時器Timer1 當按下上方向鍵(38)時,令ttt=2(代表按下上鍵) ,圖片從 back1.bmp開始顯示,並啟動計時器Timer1 當按下左方向鍵(39)時,令ttt=3(代表按下右鍵) ,圖片從 right1.bmp開始顯示,並啟動計時器Timer1 當按下左方向鍵(40)時,令ttt=4(代表按下下鍵) ,圖片從 front1.bmp開始顯示,並啟動計時器Timer1 當按下Esc(27)時結束程式執行,當按下s鍵(83)時,停止計 時器的作動,並令Picture1顯示stand.bmp 程式開始執行先令Picture1顯示stand.bmp的圖案

  18. 牛刀小試(2)---續 當ttt=1時(向左) ,圖案輪流顯示left1.bmp與left2.bmp,並令圖案向左移動50點(twips) ,當ttt=2時(向上) ,圖案輪流顯示back1.bmp 與back2.bmp,並令圖案向上移動50點(twips) ,當ttt=3時(向右) ,圖案輪流顯示right1.bmp與right2.bmp,並令圖案向右移動50點(twips) ,當ttt=4時(向下) ,圖案輪流顯示front1.bmp與front2.bmp,並令圖案向下移動50點(twips) g限定在1與 2之間切換

  19. 牛刀小試(3) • 設計一程式,模擬電動玩具中彈珠台的發球動作(按下向下箭號拉竿,放掉向下箭號,將球送出去)

  20. 牛刀小試(3)---續 Timer *1 Shape *2

  21. 牛刀小試(3)---續 • 屬性設定 • Form1: • ScaleMode:3-像素 • Shape (Shape1~2) • FillColor • Shape1:紅色 • Shape2:藍色 • FillStyle:0-實心 • Top • Shape1:264 • Shape2:216 • Timer (Timer1) • Enabled:False • Interval:10

  22. 牛刀小試(3)---續 當按下向下箭號時,Shape1與Shape2同時 向下移動,直到Shape1的Top屬性等於328 為止 當放開向下箭號時,Shape1與Shape2同時 回到原位,並啟動計時器Timer1 當Shape2未到達上邊界時,Shape2的Top屬性,每次減少2個像素(Pixels) ,直到Shape2的Top屬性小於等於1時,停止計時器Timer1的作動

  23. 駐點事件 • SetFocus • 將駐點移至指定的控制項或表單 • 駐點 • 在 Microsoft Windows 環境中,在同一時間只能有一個視窗、表單或控制項能有此功能。一個物件如具有駐點,通常會以反白標題或標題列來表示。使用者或應用程式皆可設定駐點。 • GotFocus • 當駐點(focus)移入物件或子控制項時,發生該事件 • LostFocus • 發生在物件失去駐點時,失去駐點可能由於使用者的動作,如定位到或按一下另一個物件,或者是在程式碼中使用 SetFocus 方法改變駐點

  24. 牛刀小試(4) • 設計一程式,用以計算學科成績,程式一執行時,控制權(駐點)交給第一科的文字盒,同時令文字盒顏色為黃色,每輸入一科按下Enter後,控制權交給下一個文字盒,前一個文字盒還原為白色,擁有控制權的文字盒顏色為黃色,直到全輸入完,按下計算後,顯示總分與平均,同時顯示及格或不及格的警語

  25. 牛刀小試(4)---續 Label *8 TextBox *7 CommandButton *3

  26. 牛刀小試(4)---續 • 屬性設定 • Label (Label1(0)~(6) 、Label2) • Caption • Label1(0)~(6):依圖中方式設定 • Label2:清空 • Font:新細明體16號字 • TextBox (Text1(0)~(4) 、Text2(0)~(1)) • Text:清空 • Font:新細明體16號字 • CommandButton (Command1~3) • Caption • Command1:計算 • Command2:重算 • Command3:離開 • Font:新細明體16號字

  27. 牛刀小試(4)---續 當按下離開鍵時,詢問是否離開 當文字盒掌握了控制權,則令文字 盒的背景色為黃色 當文字盒輸入內容並按下Enter鍵後 ,將控制權交付下一個文字盒 當文字盒釋放了控制權,則令文字 盒的背景色為黃白色

  28. 牛刀小試(4)---續 當按下計算鍵時,依序將Text1(0)~(4)的 值累計並指派給ssum變數 於Text2(0)顯示ssum值 於Text2(1)顯示ssum/5的值 假如平均(ssum/5)大於等於60則於Label2 顯示「表現不錯呦!!」否則顯示「你要加 油了!!」 當按下重算鍵時,依序將Text1(0)~(4)與 的Text2(0)~(1)的Text屬性、Label2的 Caption屬性值清空,並將控制權交給 Text1(0)

  29. 滑鼠事件 • Click • 此事件是發生在按下一個物件,並接著放開滑鼠鍵時。 • DblClick • 當在一個物件上快速連按兩次滑鼠左鍵時,該事件發生。 • MouseDown • 此事件是發生在按下一個物件時。 • MouseMove • 此事件是發生在滑移過一個物件時。 • MouseUp • 此事件是發生在放開滑鼠鍵時。

  30. 滑鼠事件(續) • DragDrop • 該事件發生在完成一個拖放動作 (就是將一個控制項拖曳到一個物件上,並釋放滑鼠鍵);或使用 Drag 方法,且其 action 參數設定為 2 (Drop)時。 • DragOver • 它發生在拖放動作進行時。可使用此事件對滑鼠指標在一個有效目標上的進入、離開或停留等進行監視。滑鼠指標的位置將決定接收此事件的目標物件。

  31. 牛刀小試(5) • 設計一程式,將螢幕分割成兩半,右邊顯示十個巧虎圖案,左邊隨機產生1~10之間的整數值,用滑鼠將右邊的圖案以滑鼠拖曳至左邊,當按下確定鍵後,若數量與數值相同時,顯示「好厲害」的警語,否則顯示「加油喔」

  32. 牛刀小試(5)---續 Lable *1 PictureBox *10 Line *1 CommandButton *3

  33. 牛刀小試(5)---續 • 屬性設定 • Form (Form1) • ScaleMode:3 – 像素 • StartUpPosition:2 – 螢幕中央 • PictureBox (Picture1(0)~(9)) • DragMode:1 – 自動 • AutoSize:True • CommandButton (Command1~3) • Caption:確定、重玩、離開 • Font:新細明體14號字 • Line

  34. 牛刀小試(5)---續 宣告公用變數ccc用以記錄搬移至左邊的個數 將移動的PictureBox定位於X,Y的位置(滑鼠所在位置, PictureBox的左上角定位點) ,假如PictureBox過了中線 且在左邊則ccc加1,Tag設為1,若又移回了右邊則ccc 減1,Tag設回0 設定ccc起始值為0,並令Picture1(0)~(9)載 入圖片stand.bmp,且令其Tag皆為0(皆在右 邊) ,以亂數取一介於1~10之間的整數值

  35. 牛刀小試(5)---續 當按下了確定鍵則比較ccc與電腦所產生的 亂數值(Label1的Caption) ,假如相同則顯 示「你好厲害喔」否則顯示「要再加油喔」 當按下了重玩鍵時,重新將所有Picture以亂數佈置於螢幕右側,並 令Tag值為0,ccc為0,重新以亂數 取介於1~10之間的整數值為題目 當按下了離開鍵則結束程式執行

  36. 本章結束 The End

More Related