为什么我用easyx库里面的ExMessage消息结构体不能获取键盘输入,
void SingleMode(ExMessage* pmsg, bool* music) {
cleardevice(); //清屏
EndBatchDraw(); //结束双缓冲
while (true) {
while (peekmessage(pmsg, EX_MOUSE)) { //获取鼠标消息
if (pmsg->message == WM_LBUTTONDOWN) {
if (pmsg->x >= 0 && pmsg->x <= 80 && pmsg->y >= 0 && pmsg->y <= 80) { //点击返回按钮
return;
}
}
}
while (peekmessage(pmsg, EX_KEY)) { //获取键盘消息
if (pmsg->message == WM_KEYDOWN) {
if (pmsg->vkcode == VK_SPACE) { //空格键按下
}
if (pmsg->vkcode == VK_A || pmsg->vkcode == VK_LEFT) { //向左
printf("左\n");
fflush(stdout);
}
if (pmsg->vkcode == VK_D || pmsg->vkcode == VK_RIGHT) { //向右
printf("右\n");
fflush(stdout);
}
if (pmsg->vkcode == VK_W || pmsg->vkcode == VK_UP) { //向上
printf("上\n");
fflush(stdout);
}
if (pmsg->vkcode == VK_S || pmsg->vkcode == VK_DOWN) { //向下
printf("下\n");
fflush(stdout);
}
}
}
BeginBatchDraw(); //开始双缓冲
setfillcolor(BLACK);
//绘制返回按钮
setfillcolor(WHITE);
POINT pt1[] = {
{10,40},
{40,10},
{40,70}
};
int n1 = 3;
fillpolygon(pt1, n1); //三角形
solidrectangle(40, 30, 70, 50); //矩形
EndBatchDraw(); //结束双缓冲
}
}
鼠标消息能正常获取,点击返回能正常返回,但使用键盘输入'W''A''S''D'和上下左右的时候,控制台没反应,而且在电脑最左上角有图片里这样的输入框

