win32 鍵盤 滑鼠事件

2021-06-27 17:53:36 字數 3003 閱讀 5686

onkeyuup 事件的語法為 void object1:: onkeyup( uint nchar, uint nrepcnt, uint nflags );

onkeydown 事件的語法為 void object1:: onkeydown( uint nchar, uint nrepcnt, uint nflags );

這裡引數 nchar 代表的是鍵盤上各鍵的**,是編寫程式時必須要寫明的,而引數 nrepcnt, 和 nflags 則可以使用預設值而不必編寫。

下面說明 vc 的 keypress 事件中的 nchar **與鍵盤中各鍵的對應關係:

vk_0 到 vk_9 表示鍵盤上數字「 0 」到「 9 」鍵 (ascii 碼為 0x30 - 0x39) ;

vk_a 到 vk_z 表示鍵盤上字母「 a 」到「 z 」鍵 (ascii 碼為 0x41 - 0x5a) ;

vk_add 表示數字鍵盤上的「 + 」鍵。

vk_alt 表示鍵盤上 「 alt 」鍵。

vk_back_quote 表示鍵盤上 「 ` 」鍵。

vk_back_slash 表示鍵盤上 「 \ 」鍵。

vk_back_space 表示鍵盤上 「 backspace 「鍵。

vk_caps_lock 表示鍵盤上 「 caps lock 」鍵。

vk_close_bracket 表示鍵盤上 「 ] 」鍵。

vk_comma 表示鍵盤上 「 , 」鍵。

vk_control 表示鍵盤上 「 ctrl 」鍵。

vk_decimal 表示數字鍵盤上 「 . 」鍵。

vk_delete 表示鍵盤上 「 delete 」鍵。

vk_divide 表示鍵盤上 「 / 」鍵。

vk_down 表示鍵盤上 「向下箭頭」鍵。

vk_end 表示鍵盤上 「 end 」鍵。

vk_enter 表示鍵盤上 「 enter 」鍵。

vk_equals 表示鍵盤上 「=」鍵。

vk_escape 表示鍵盤上 「 esc 」鍵。

vk_f1 到 vk_f12 表示鍵盤上 「 f1 」到「 f12 」鍵。

vk_home 表示鍵盤上 「 home 」鍵。

vk_insert 表示鍵盤上 「 instert 」鍵。

vk_left 表示鍵盤上 「向左箭頭」鍵。

vk_multiply 表示鍵盤上 「 * 」鍵。

vk_numpad0 到 vk_numpad9 表示數字鍵盤上 「 0 」到「 9 」鍵。

vk_open_bracket 表示鍵盤上 「 [ 」鍵。

vk_page_down 表示鍵盤上 「 page down 」鍵。

vk_page_up 表示鍵盤上 「 page up 」鍵。

vk_pause 表示鍵盤上 「 pause 」鍵。

vk_printscreen 表示鍵盤上 「 print screen 」鍵。

vk_right 表示鍵盤上 「向右箭頭」鍵。

vk_scroll_lock 表示鍵盤上 「 scroll lock 」鍵。

vk_semicolon 表示鍵盤上 「;」鍵。

vk_shift 表示鍵盤上 「 shift 」鍵。

vk_space 表示鍵盤上 「 spacebar 」鍵。

vk_subtract 表示鍵盤上 「-」鍵。

vk_tab 表示鍵盤上 「 tab 」鍵。

vk_up 表示鍵盤上 「向上箭頭」鍵。

用鍵盤在人機互動中完成對螢幕中物體位置移動的控制功能時常會用到上、下、左、右幾個方向鍵。下面的程式可以完成對某一可視控制項 object1 的位置進行控制(分別按下上、下、左、右鍵使其分別向上、下、左、右方向移動 5 個螢幕單位):

}2. 對滑鼠的響應

vc 中對滑鼠的響應常用的有以下事件:

a. onlbuttondblclk

:語法為 void object1 wnd :: onlbuttondblclk( uint nflags, cpoint point ){} ,表示控制項對雙擊滑鼠左鍵時的響應。

b. onlbuttondown

:語法為 void object1 wnd :: onlbuttondown( uint nflags, cpoint point ){} ,表示控制項對按下滑鼠左鍵時的響應。

c. onlbuttonup

:語法為 void object1 wnd :: onlbuttonup( uint nflags, cpoint point ){} ,表示控制項對按下的滑鼠左鍵放開後的響應。

d. onrbuttondblclk

:語法為 void object1 wnd :: onrbuttondblclk( uint nflags, cpoint point ){} ,表示控制項對雙擊滑鼠右鍵時的響應。

e. onrbuttondown

:語法為 void object1 wnd :: onrbuttondown( uint nflags, cpoint point ){} ,表示控制項對按下滑鼠右鍵時的響應。

f. onrbuttonup

:語法為 void object1 wnd :: onrbuttonup( uint nflags, cpoint point ){} ,表示控制項對按下的滑鼠右鍵放開後的響應。

其中的引數 nflags 用於指示按下的鍵的**,它可以是下面的幾個值或它們的組合:

mk_control   表示按下 ctrl 鍵 ;

mk_lbutton   表示按下滑鼠左鍵;

mk_mbutton   表示按下滑鼠中鍵;

mk_rbutton   表示按下滑鼠右鍵;

mk_shift        表示按下 shift 鍵;

point 引數表示滑鼠的游標位置相對於所在視窗的左上角的水平和垂直座標值。

在 vc 中用滑鼠響應事件來完**機互動中的控制功能是比較容易的。例如把乙個控制項 object1 的位置移動到滑鼠游標的位置,下面簡單的程式就可完成:

void object1::onlbuttondown(uint nflags, cpoint point)

win32程式設計 滑鼠訊息

忙起來的時候感覺什麼都不缺,空下來以後才發現什麼都沒有。網易雲熱評 一 基本滑鼠訊息 wm lbuttondown 滑鼠左鍵按下wm lbuttonup 滑鼠左鍵抬起wm rbuttondown 滑鼠右鍵按下wm rbuttonup 滑鼠右鍵抬起wm mousemove 滑鼠移動訊息1 訊息引數 w...

Win32學習筆記 滑鼠操作

1.游標型別 1 系統游標型別 windows.h idc arrow 箭頭游標 idc cross 十字游標 idc ibeam i字游標 idc icon 空圖示 idc sizeall 指向四個方向的帶有箭頭的游標 idc sizenesw 帶有指向東北方向和西南方向的箭頭的游標 idc si...

win32程式測試鍵盤鉤子

test hook.cpp 定義控制台應用程式的入口點。include stdafx.h include include include include include some global variables hinstance g instance handler of current ins...