公告

Collapse
No announcement yet.

Visual Basic 6 › 鍵盤與滑鼠事件

Collapse
X
Collapse
Who has read this thread:
  • Filter
  • Time
  • Show
全部清除
新帖子

  • Visual Basic 6 › 鍵盤與滑鼠事件

    ◆ 鍵盤事件 ◆
    在視窗系統環境下,雖然滑鼠是一個非常好用的輸入工具,但是鍵盤仍是目前輸入資料的主要方法。在Visua l Basic程式設計環境下,透過「文字方塊」控制項來處理使用者由鍵盤輸入的資料,但有時要處理一些較特殊 的按鍵、組合按鍵或檢查按下那個按鍵,就必須以更直接的方式來處理,Visual Basic提供了KeyDown、KeyUp、KeyPress三個事件讓你能輕易地完成鍵盤的處理工作。

    ▂KeyPress事件
    當按下鍵盤的動作時就會觸動KeyDown和KeyPress事件,放開按鍵後才會觸動KeyUp事件。但 是所按的鍵必須是具有KeyAscii碼的按鍵,KeyPress事件才會有效。
    KeyPress的功能是在指定物件名稱上收到由鍵盤所按鍵的字元。僅能回應按鍵動作,無法判斷目前按鍵是 否按住或放開。
    【語法】
    Private Sub物件名稱_KeyPress(KeyAscii As Integer)
    【說明】
    1. KeyAscii:傳回鍵盤上被按下鍵的Ascii碼。
    2. 如果在該事件程序中,有更改KeyAscii參數內容,則顯示的字元亦跟著更改。
    3. 若將KeyAscii參數設定成0,即表示要吃掉此一按鍵,則表單或控制元件並不會收到此一字元,如同清除 剛才輸入的字元。
    ▂ KeyDown
    KeyDown的功能是在指定物件上測到鍵盤有按鍵被按住。
    【語法】
    Private Sub物件名稱_KeyDown(KeyCode As Integer, Shift As Integer)
    【說明】
    1. KeyCode:Visual Basic定義的按鍵碼,常用的按鍵與KeyCode如下:
    a. 特殊鍵的按鍵與KeyCode:
    按鍵 KeyCode KeyCode的常數符號
    Backspace 8 VbKeyBack
    Tab 9 VbKeytab
    Enter 13 VbKeyReturn
    Esc 27 KeyEscape
    PageUp 33 VbKeyPageUp
    PageDown 34 VbKeyPageDown
    End 35 VbKeyEnd
    Home 36 VbKeyHome
    ← 37 VbKeyLeft
    ↑ 38 VbKeyUp
    → 39 VbKeyRight
    ↓ 40 VbK.eyDown
    Insert 45 VbKeyInsert
    Delete 46 VbKeyDelete
    b. 字母與數字的按鍵與KeyCode:
    按鍵 KeyCode KeyCode的常數符號
    A至Z 65~90 VbKeyA~ VbKeyZ
    0至9 48~57 VbKey0~VbKey9
    c. 一般功能鍵的按鍵與KeyCode:
    按鍵 KeyCode KeyCode的常數符號
    F1至F12 112~123 VbKeyF1~ VbKeyF12
    2. Shift:是否按下 Shift、Ctrl與Alt三種按鍵的狀況,狀況如下:
    Shift值 Shift、Ctrl與Alt三種按鍵的狀況
    0 Shift、Ctrl與Alt都沒被按下
    1 Shift
    2 Ctrl
    3 Shift+Ctrl
    4 Alt
    5 Shift+Alt
    6 Ctrl+Alt
    7 Shift+Ctrl+Alt
    9-1-3 KeyUp
    KeyUp的功能是在指定物件上測到鍵盤上被按住的按鍵已被放開。
    【語法】
    Private Sub物件名稱_KeyUp(Button As Integer, Shift As Integer, X As Single , Y As Single)
    [hr] ◆ 滑鼠 ◆
    在Windows環境下,滑鼠可以讓使用者很輕易做到下列事件:
    Click:在物件上按滑鼠左鍵一下。
    DbClick:在物件上快按滑鼠左兩下。
    MouseDown:在物件上測到有滑鼠鍵被按住。
    MouseMove:在物件上測到滑鼠正在移動。
    MouseUp:在物件上測到已按住之滑鼠鍵被放開
    DragDrop:物件被拖曳到放置的過程。
    DragOver:拖曳物件越過另外一物件上方的過程。
    使用滑鼠事件時,若滑鼠位於表單的控制項上,則該控制項會識別滑鼠事件;若滑鼠不在表單的控制項上,則表單 會識別滑鼠事件。譬如:你在滑鼠按鈕按一下,會觸動MouseDown事件,放開時觸動MouseUp事件 ,按著才觸動滑鼠的Click事件。
    若在滑鼠上按下任一鍵,馬上會觸動MouseDown事件。若將滑鼠鍵由按下再放開,會觸動MouseUp 事件。無論滑鼠是否有被按下,只要移動滑鼠指標,馬上觸動MouseMove事件。此三事件被觸動時,還可 偵測到鍵盤之Alt,Ctrl,Shift鍵是否同時被按下的情形、滑鼠目前的位置以及目前按下或放開是那 個按鍵。
    當我們按一下滑鼠左鍵再放開,會同時觸動 MouseDown、MouseUp和Click三個事件,其順序為MouseDown事件,接著為Mou seUp事件,最後為Click事件。所以在撰寫程式碼時要注意將程式碼寫在那一事件程序中,並且要避免程 式碼重覆或相衝突。
    ▂ MouseMove
    只要移動滑鼠指標,馬上觸動MouseMove事件。
    【語法】
    Private Sub 物件名稱_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    【說明】
    Button參數:表示滑鼠被按下或放開的狀態,如下:
    0:沒有滑鼠鍵被按下(此值只有在MouseMove事件存在)。
    1:按左鍵。
    2:按右鍵。
    4:按中間鍵。
    ▂ MouseDown與MouseUp
    在滑鼠上按下任一鍵,馬上會觸動MouseDown事件。若將滑鼠鍵由按下再放開,會觸動MouseUp事 件。
    【語法】
    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)
    【說明】
    Shift參數:
    當滑鼠鍵被按下或放開時,鍵盤Alt、Ctrl或Shift是否同時被按下:
    0:Alt、Ctrl、Shift三個鍵都沒有按。
    1:按Shift鍵。
    2:按Ctrl鍵。
    4:按Alt鍵。

    有一種漂亮是為自己堅強
Working...
X