vc控制台消息循环

vc控制台程序是否有消息循环?本人想在控制台上写游戏,程序对按键消息及时响应,不是使用getch()方式,而是用消息循环方式,请大大写出消息循环的模板,带测试功能的... vc控制台程序是否有消息循环?
本人想在控制台上写游戏,程序对按键消息及时响应,不是使用getch()方式,而是用消息循环方式,请大大写出消息循环的模板,带测试功能的
展开
 我来答
nullai
2010-04-01 · TA获得超过117个赞
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:216万
展开全部
VOID MouseEventProc(MOUSE_EVENT_RECORD);
VOID ResizeEventProc(WINDOW_BUFFER_SIZE_RECORD);
VOID KeyEventProc(KEY_EVENT_RECORD);
VOID GetInputEvents(VOID);

DWORD main(VOID)
{
HANDLE hStdin;
DWORD cNumRead, fdwMode, fdwSaveOldMode, i;
INPUT_RECORD irInBuf[128];

// Get the standard input handle.

hStdin = GetStdHandle(STD_INPUT_HANDLE);
if (hStdin == INVALID_HANDLE_VALUE)
MyErrorExit("GetStdHandle");

// Save the current input mode, to be restored on exit.

if (! GetConsoleMode(hStdin, &fdwSaveOldMode) )
MyErrorExit("GetConsoleMode");

// Enable the window and mouse input events.

fdwMode = ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT;
if (! SetConsoleMode(hStdin, fdwMode) )
MyErrorExit("SetConsoleMode");

// Loop to read and handle the input events.

while (1)
{

// Wait for the events.

if (! ReadConsoleInput(
hStdin, // input buffer handle
irInBuf, // buffer to read into
128, // size of read buffer
&cNumRead) ) // number of records read
MyErrorExit("ReadConsoleInput");

// Dispatch the events to the appropriate handler.

for (i = 0; i < cNumRead; i++)
{
switch(irInBuf[i].EventType)
{
case KEY_EVENT: // keyboard input
KeyEventProc(irInBuf[i].Event.KeyEvent);
break;

case MOUSE_EVENT: // mouse input
MouseEventProc(irInBuf[i].Event.MouseEvent);
break;

case WINDOW_BUFFER_SIZE_EVENT: // scrn buf. resizing
ResizeEventProc(
irInBuf[i].Event.WindowBufferSizeEvent);
break;

case FOCUS_EVENT: // disregard focus events

case MENU_EVENT: // disregard menu events
break;

default:
MyErrorExit("unknown event type");
break;
}
}
}

return 0;
}
MSDN上的代码,相信对你有帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
goodczs
2010-04-01 · TA获得超过2118个赞
知道小有建树答主
回答量:2251
采纳率:0%
帮助的人:949万
展开全部
可以,不过要自己手动写消息循环过程。还有自己写消息翻译和投递。麻烦点而已。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4f97cd911
2010-04-01
知道答主
回答量:16
采纳率:0%
帮助的人:11.2万
展开全部
建议还是用MFC写,用MFC的消息映射机制,对消息很容易处理的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ecba46aab
2010-04-01 · TA获得超过2303个赞
知道大有可为答主
回答量:2477
采纳率:100%
帮助的人:1987万
展开全部
没有哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式