C++中什么函数来读取键盘的上下左右和回车键。以及什么函数可以画出一个矩形的窗口

想画一个八行八列的矩形图,并且在其中用键盘可以控制光标的移动。并且能读取按回车的行为 。使用的是VC6.0的编译器

控制台程序 还是 MFC ?

1. 如果是控制台程序,使用 GetAsyncKeyState 函数
我以前写个一个小程序,你可以参考一下
http://blog.csdn.net/tunsanty/archive/2009/07/29/4389697.aspx

2. 如果是MFC程序,你需要在PreTranslateMessage(MSG* pMsg)中捕获按键的消息,然后设置焦点(SetFocus())。类似下面的样子:

BOOL CXXXDialog(or CXXXView)::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
if(pMsg->wParam == VK_LEFT) {
//左键 .....

return CWnd::PreTranslateMessage(pMsg);
}
else if (pMsg->wParam == VK_RIGHT)
{
//右键.....

return CWnd::PreTranslateMessage(pMsg);
}
else if (pMsg->wParam == VK_UP)
{
//上键.....

return CWnd::PreTranslateMessage(pMsg);
}
else if (pMsg->wParam == VK_DOWN)
{
//下键.....

return CWnd::PreTranslateMessage(pMsg);
}
else if (pMsg->wParam == VK_TAB)
{
//Tab 键....

return CWnd::PreTranslateMessage(pMsg);
}
else if (pMsg->wParam == VK_ESCAPE)
{
//ESC 键....

return CWnd::PreTranslateMessage(pMsg);
}
else if(pMsg->wParam == VK_RETURN )
{
//回车键....

return CWnd::PreTranslateMessage(pMsg);
}
}
a
return CWnd::PreTranslateMessage(pMsg);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-06
读取上下左右键,先建立一个消息 ON_WM_KEYDOWN ,实现函数onKeyDown,就可以读取键盘的信息了,至于每个键位对应的ASCII码是多少,可以写一个MESSAGEBOX看看。
第2个回答  2019-08-30
回车键就是enter键,一般在104/107键键盘上有两个,分别位于主键盘区右侧,和小键盘区右下角。
第3个回答  2009-11-06
CDC *pdc;
pdc.LineTo();
画四条直线不久是一个矩形么
第4个回答  2009-11-06
做个判断,键盘字符都有ASCALL码的···自己写个函数吧

C++中什么函数来读取键盘的上下左右和回车键。以及什么函数可以画出一...
1. 如果是控制台程序,使用 GetAsyncKeyState 函数 我以前写个一个小程序,你可以参考一下 http:\/\/blog.csdn.net\/tunsanty\/archive\/2009\/07\/29\/4389697.aspx 2. 如果是MFC程序,你需要在PreTranslateMessage(MSG* pMsg)中捕获按键的消息,然后设置焦点(SetFocus())。类似下面的样子:BOOL CXXXDialog(...

c++中 键盘上的end,home键等是用什么编码的?用什么函数能获取按下他们...
用的是ASCII编码,include<stdio.h> int getchar(void);\/\/获取单个字符,每按下键盘,即可输入 char*gets(char*buffer); \/\/获取字符串,键盘输入时,直至接受到换行符或EOF时,读取所有输入

C语言输入是怎么区分空格和回车的
C\/C++的输入,都是以:空格 TAB 回车 来判断一个输入是否结束的。

c++里我想通过getch()函数来测试键盘上下左右的ASCLL值,但为什么最后显 ...
输出是正确的。上、下、左、右键是双字节编码,敲一下键就输入2个字节,而getch一次只接收一个字节,所以分别输出在两行上。如果你只想要低字节,那这么写就可以了——int main(void){ int num; while(1){ if((num=getch())<127) cout << num << endl; } return 0;}...

c++里检测键盘按下或放开的函数是什么?包含在哪个文件里?(类是于VB...
c++里面没有...vc里面才有:键按下 键释放 非系统键WM_KEYDOWN WM_KEYUP 系统键WM_SYSKEYDOWN WM_SYSKEYUP

一个C++程序是由哪几个部分构成的?其中的每一部分起什么作用?
而printf(),puts()这两个函数都可以工作于显示用来编写初级界面挺好!!所以一般也可将C语言化成MVC模式(M指业务逻辑层,业务代码,V指界面层,编写界面,C控制代码,例如main(),也可让main()调用一个控制个函数调用的函数)!!!只要你对高级C部分有所了解!!一样完成java等面向对象语言的...

c++中怎么定义一个或几个键盘上的按键
如果只是判断一个按键是否按下,可以直接响应WM_KEYDOWN消息,用switch判断按下的是哪个键 如果要响应组合按键,可以用GetKeyState判断

C++,怎么让程序模拟用户输入指令,并自行回车以执行该指令(不是写个输出...
可以用WinApi实现,需要包含windows.h。需要两个模块,一个是检测回车键的模块,一个是模拟输入指令的模块。检测回车键,有两个函数可以用: GetKeyState和GetAsyncKeyState,两个函数的参数都是虚拟键码,虚拟键码可以在网站上查询:虚拟键码 | Microsoft Learn 两个函数的返回值相同:返回一个short型的...

C++中从键盘方向键的读取问题!~求高手指点!
函数原型:int bioskey (int cmd) 说明:bioskey()的函数原型在bios.h中 bioskey()完成直接键盘操作,cmd的值决定执行什么操作。 cmd = 0: 当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。当按下一个普通键时,它...

getch()有什么作用?
getch是一个常用于C语言和C++编程的函数。当程序运行时,它允许程序从控制台读取用户的按键输入,而不需要用户按下回车键。这意味着,用户可以实时地、逐字符地输入,而程序能够即时响应。这在需要即时反馈或者实时输入处理的程序中非常有用。2. 工作原理 在标准的输入函数如scanf或getchar中,程序通常...

相似回答