键盘输入
键盘输入
发布时间:2015-06-11 来源:查字典编辑
摘要:

键盘是计算机的标准配置,正确的指法是微机操作的基础,看着一行行文字轻快地在指下流淌,就仿佛“梵婀岭上奏着的名曲”;


 下面我们通过一个例子来学习怎样编写键盘程序:


 1、键盘上包括字母键和控制键,标准键盘可以产生255个大小写字母、标点符号的字符代码,称为ASCII码(“阿斯科码”)


 这对于英文来说,足以完成大多数文字录入,但是对于成千上万的汉字来说,二百多个是远远不够的,因此汉字用两个ASCII码表示(一个汉字占两个字节),现在汉字编码有GB-2312以及GBK大字符集等等;


 2、当我们按下键盘时,首先由键盘检查所按的键,然后发送按键的代码给系统,由于各个国家的键盘代码不同,


 系统会把代码转换为标准代码ANSI字符集,还记得WinMain函数中的一句TranslateMessage(&msg)吧,然后再把按键消息发送给应用程序;


 3、启动VC,新建一个名为Key的Win32 Application工程,再新建一个相同名称的头文件和源程序文件,在头文件中输入函数的申明,在源程序中输入窗口框架代码;


 4、接下来加入键盘消息的处理过程(绿色双斜杠部分是注释),有的一行太长会自动折到下一行,代码如下:


LRESULT APIENTRY MainWndProc(
HWND hWnd,//窗口句柄
UINT uMessage,//消息类型
WPARAM wParam,//消息附带信息
LPARAM lParam)//消息附带信息
{
HDC hdc;//设备描述表句柄
static int i,j;//控制字符显示位置的行,列的坐标
PAINTSTRUCT ps;//包含画图操作各种信息的结构
switch(uMessage)
{
case WM_CHAR://键盘消息
switch (wParam)//键盘字符的ASCII码
{
case 0x0D://回车键的代码
j=j+20;//下一行
i=0;//从行首开始输入
break;
default://默认的处理
InvalidateRect(hWnd,NULL,FALSE);//更新屏幕区域,原来的不擦除
char text[1]={TCHAR(wParam)};//将字符存入数组中,数组有两个字符空间
text[1]='';//第二个字符为结束标志
i=i+10;//下一个字符的位置
hdc=BeginPaint(hWnd,&ps);
TextOut(hdc,20+i,50+j,text,1);//只显示第一个字符,结束标志不显示
EndPaint(hWnd,&ps);
}
break;//字符消息结束


case WM_PAINT://窗口初始化显示一行提示字符串
hdc=BeginPaint(hWnd,&ps);
TextOut(hdc,30,30,"请按键盘输入英文字符:",lstrlen("请按键盘输入英文字符:"));
EndPaint(hWnd,&ps);
break;
case WM_DESTROY: //请求退出窗口和应用程序
PostQuitMessage(0);//发送一条WM_QUIT消息,
break;
default:
return (DefWindowProc(hWnd,uMessage,wParam,lParam));
}
return(0);
}//消息处理函数结束

ASCII

键盘

ASCII

键盘

ASCII

键盘

ASCII

键盘

27

ESC

32

SPACE

33

!

34

"

35

#

36

$

37

%

38

&

39

'

40

(

41

)

42

*

43

+

44

'

45

-

46

.

47

/

48

0

49

1

50

2

51

3

52

4

53

5

54

6

55

7

56

8

57

9

58

:

59

;

60

61

=

62

63

?

64

@

65

A

66

B

67

C

68

D

69

E

70

F

71

G

72

H

73

I

74

J

75

K

76

L

77

M

78

N

79

O

80

P

81

Q

82

R

83

S

84

T

85

U

86

V

87

W

88

X

89

Y

90

Z

91

[

92

\

93

]

94

^

95

_

96

`

97

a

98

b

99

c

100

d

101

e

102

f

103

g

104

h

105

i

106

j

107

k

108

l

109

m

110

n

111

o

112

p

113

q

114

r

115

s

116

t

117

u

118

v

119

w

120

x

121

y

122

z

123

{

124

|

125

}

126

 

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Visual C++基础入门教程学习
热门Visual C++基础入门教程学习
编程开发基础子分类