一、击键与字符消息:
处理按键和字元讯息的基本规则是:如果需要读取输入到视窗的键盘字元,那么您可以处理WM_CHAR 讯息。如果需要读取游标键、功能键、Delete、Insert、Shift、Ctrl 以及Alt 键,那么您可以处理WM_KEYDOWN 讯息。
但是Tab 键,Enter、Backspace 和Escape 键可以处理击键或字符消息都可以、
按键 字元代码 产生方法 ANSI C 控制字元
Backspace 0x08 Ctrl-H \b
Tab 0x09 Ctrl-I \t
Ctrl-Enter 0x0A Ctrl-J \n
Enter 0x0D Ctrl-M \r
Esc 0x1B Ctrl-[
现在一般处理字符消息。
二、//////////////创建插入符
主要有五个插入符号函式:
CreateCaret 建立与视窗有关的插入符号
SetCaretPos 在视窗中设定插入符号的位置
ShowCaret 显示插入符号
HideCaret 隐藏插入符号
DestroyCaret 撤消插入符号
另外:
GetCaretPos 取得插入符号目前位置
GetCaretBlinkTime 取得插入符号闪烁时间
SetCaretBlinkTime 设定插入符号闪烁时间
使用插入符号的主要规则很简单:
1、视窗讯息处理程式在WM_SETFOCUS 讯息理期间呼叫CreateCaret,在WM_KILLFOCUS讯息处理期间呼叫DestroyCaret。
2、插入符号刚建立时是隐蔽的。想使插入符号可见,CreateCaret ,ShowCaret
3、当视窗讯息处理程式处理一条非WM_PAINT 讯息而且希望在视窗内绘制某些东西时,它必须呼叫HideCaret 隐藏插入符号。在绘制完毕後,再呼叫ShowCaret显示插入符号。HideCaret 的影响具有累积效果,相同次数时,才能看到插入符号。
三、捕获鼠标:是鼠标移出客户区时依然需要鼠标鼠标的位置。这是捕获
SetCapture (hwnd) ;Windows 将所有滑鼠讯息发给视窗代号为hwnd 的视窗讯息处理程式。
ReleaseCapture () ;释放
WPARAM的参数
符号常量 十六进制值 指定的鼠标或键盘按键
VK_LBUTTON 01 鼠标左键(一般不用)
VK_RBUTTON 02 鼠标右键(一般不用)
VK_CANCEL 03 Control-break 过程
VK_MBUTTON 04 鼠标中键(一般不用)
VK_BACK 08 BACKSPACE 键
VK_TAB 09 TAB 键
VK_CLEAR 0C CLEAR 键(Num Lock关闭时的数字键盘5)
VK_RETURN 0D ENTER 键(回车键)
VK_SHIFT 10 SHIFT 键
VK_CONTROL 11 CTRL 键
VK_MENU 12 ALT 键
VK_PAUSE 13 PAUSE 键 //???
VK_CAPITAL 14 CAPS LOCK 键(大写锁定键)
VK_ESCAPE 1B ESC 键
VK_SPACE 20 SPACEBAR(空格键)
VK_PRIOR 21 PAGE UP 键(上页)
VK_NEXT 22 PAGE DOWN 键(下页)
VK_END 23 END 键
VK_HOME 24 HOME 键(一般用来做开始)
VK_LEFT 25 LEFT ARROW 键
VK_UP 26 UP ARROW 键
VK_RIGHT 27 RIGHT ARROW 键
VK_DOWN 28 DOWN ARROW 键
VK_SELECT 29 SELECT 键 //????
VK_EXECUTE 2B EXECUTE 键 //????
VK_SNAPSHOT 2C PRINT SCREEN键(用于Windows 3.0及以后版本)
VK_INSERT 2D INS 键(Insert键)
VK_DELETE 2E DEL 键(Delete键)
VK_HELP 2F HELP 键 //???找不到
///////////////////////////////////////////////////
对于字母键和非小键盘上的数字键,直接在单引号中加入该键就行.
比如:a键:'A'
1键:'1'
//////////////////////////////////////////////
VK_LWIN 5B Left Windows 键 (Microsoft自然键盘)
VK_RWIN 5C Right Windows 键 (Microsoft自然键盘)
VK_APPS 5D Applications 键 (Microsoft自然键盘)
VK_NUMPAD0 60 数字小键盘上的 0 键
VK_NUMPAD1 61 数字小键盘上的 1 键
VK_NUMPAD2 62 数字小键盘上的 2 键
VK_NUMPAD3 63 数字小键盘上的 3 键
VK_NUMPAD4 64 数字小键盘上的 4 键
VK_NUMPAD5 65 数字小键盘上的 5 键
VK_NUMPAD6 66 数字小键盘上的 6 键
VK_NUMPAD7 67 数字小键盘上的 7 键
VK_NUMPAD8 68 数字小键盘上的 8 键
VK_NUMPAD9 69 数字小键盘上的 9 键
VK_MULTIPLY 6A Multiply 键 (*键)
VK_ADD 6B Add 键(+)
VK_SEPARATOR 6C Separator 键
VK_SUBTRACT 6D Subtract 键 (—)
VK_DECIMAL 6E Decimal 键(.)
VK_DIVIDE 6F Divide 键(/)
VK_F1 70 F1 键
VK_F2 71 F2 键
VK_F3 72 F3 键
VK_F4 73 F4 键
VK_F5 74 F5 键
VK_F6 75 F6 键
VK_F7 76 F7 键
VK_F8 77 F8 键
VK_F9 78 F9 键
VK_F10 79 F10 键
VK_F11 7A F11 键
VK_F12 7B F12 键
VK_F13 7C F13 键
VK_F14 7D F14 键
VK_F15 7E F15 键
VK_F16 7F F16 键
VK_F17 80H F17 键
VK_F18 81H F18 键
VK_F19 82H F19 键
VK_F20 83H F20 键
VK_F21 84H F21 键
VK_F22 85H F22 键
VK_F23 86H F23 键
VK_F24 87H F24 键
VK_NUMLOCK 90 NUM LOCK 键
VK_SCROLL 91 SCROLL LOCK 键
/////下面的键盘找不到
VK_ATTN F6 Attn 键
VK_CRSEL F7 CrSel 键
VK_EXSEL F8 ExSel 键
VK_EREOF F9 Erase EOF 键
VK_PLAY FA Play 键
VK_ZOOM FB Zoom 键
VK_OEM_CLEAR FE Clear 键
posted on 2011-09-13 16:23
Yu_ 阅读(372)
评论(0) 编辑 收藏 引用 所属分类:
Windows程序设计