posts - 34,comments - 2,trackbacks - 0

一、击键与字符消息:
处理按键和字元讯息的基本规则是:如果需要读取输入到视窗的键盘字元,那么您可以处理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_ 阅读(377) 评论(0)  编辑 收藏 引用 所属分类: Windows程序设计

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理