捕捉a~z字母键0~9数字键按下的事件是否要一大堆if(nChar=='a'|nChar=='b'………………)语句?有现成的或简化的函数、语句可以使用吗?
解决方案 »
- 非模态对话框消息问题
- OnFileNew的问题
- “进程”和“进程内核对象”是一回事吗
- windows升级接口错误
- 为什么我把汉字传给了函数的variant变量,结果保存到oracle后是乱码?
- 如何选中ListCtrl中的单元格并修改其内容。给分80,在线等。
- 请问在ATL做控件时,接口函数是bool型的如何写?要在VB中也能用控件
- 实现安全删除硬件(USB Mass Storage device)?
- 重装系统后原来的源代码无法编译,在线求救...
- Charles Petzold的《programming windows》
- C++中函数指针使用请教
- 请教如何将多张静态图转成一张GIF动态图的方法
........
case:a
case:b
。
。
。
。
{
int ReVal = -1 ;
int nLength = strCode.GetLength() ;
if (nLength == 1)
{
char c = strCode.GetAt(0);
if(c >= 97 && c <= 122)
ReVal = c - 32 ;
else if( c>= 49 && c <= 59)
ReVal = c + 48 ;
}
else if(strCode == "Esc")
{
ReVal = 27 ;
}
else if(strCode == "F1")
{
ReVal = 112;
}
else if(strCode == "F2")
{
ReVal = 113;
}
else if(strCode == "F3")
{
ReVal = 114;
}
else if(strCode == "F4")
{
ReVal = 115;
}
else if(strCode == "F5")
{
ReVal = 116;
}
else if(strCode == "F6")
{
ReVal = 117;
}
else if(strCode == "F7")
{
ReVal = 118;
}
else if(strCode == "F8")
{
ReVal = 119;
}
else if(strCode == "F9")
{
ReVal = 120;
}
else if(strCode == "F10")
{
ReVal = 121;
}
else if(strCode == "F11")
{
ReVal = 122;
}
else if(strCode == "F12")
{
ReVal = 123;
}
else if(strCode == "`")
{
ReVal = 192 ;
}
else if(strCode == "Tab")
{
ReVal = 9 ;
}
else if(strCode == "Caps Lock")
{
ReVal = 20 ;
}
else if(strCode == "-")
{
ReVal = 189 ;
}
else if(strCode == "=")
{
ReVal = 116 ;
}
else if(strCode == "\\")
{
ReVal = 220 ;
}
else if(strCode == "Back Space")
{
ReVal = 8 ;
}
else if(strCode == "Enter")
{
ReVal = 13 ;
}
else if(strCode == "[")
{
ReVal = 219 ;
}
else if(strCode == "]")
{
ReVal = 221 ;
}
else if(strCode == ";")
{
ReVal = 186 ;
}
else if(strCode == "'")
{
ReVal = 222 ;
}
else if(strCode == ",")
{
ReVal = 188 ;
}
else if(strCode == ".")
{
ReVal = 190 ;
}
else if(strCode == "/")
{
ReVal = 191 ;
}
else if(strCode == "WinKey")
{
ReVal = 91 ;
}
else if(strCode == "Insert")
{
ReVal = 45 ;
}
else if(strCode == "Delete")
{
ReVal = 46 ;
}
else if(strCode == "Home")
{
ReVal = 36 ;
}
else if(strCode == "End")
{
ReVal = 35 ;
}
else if(strCode == "Page Up")
{
ReVal = 33 ;
}
else if(strCode == "Page Down")
{
ReVal = 34 ;
}
else if(strCode == "方向上")
{
ReVal = 38 ;
}
else if(strCode == "方向下")
{
ReVal = 40 ;
}
else if(strCode == "方向左")
{
ReVal = 37 ;
}
else if(strCode == "方向右")
{
ReVal = 39 ;
}
else if(strCode == "Print Screen")
{
ReVal = 44 ;
}
else if(strCode == "Scroll Lock")
{
ReVal = 145;
}
else if(strCode == "Pause Break")
{
ReVal = 19 ;
} return ReVal ;
}
字母和数字键编码是连续的!
关键是ASCII是有规律的!——可惜没有人提醒稍后再结贴!多谢各位!