按任意键开始执行
#include <graphics.h>
#include <stdio.h>
int main()
{
initgraph(640, 480);
int x = 0, y = 20;// 自动画圆的坐标
TCHAR s[100];// 获取到的字符
int si = 0;// 字符存储位置
bool act = true;// 窗口是否激活
ExMessage msg;// 消息变量
getmessage(EM_KEY);// 按任意键继续
while (true)
{
while (peekmessage(&msg))
{
switch (msg.message)
{
case WM_MOUSEMOVE:// 处理鼠标移动消息
putpixel(msg.x, msg.y, GREEN);
break;
case WM_LBUTTONDOWN:// 处理鼠标左键按下消息
circle(msg.x, msg.y, 20);
break;
case WM_CHAR:// 处理收到字符消息
s[si] = msg.ch;
s[si + 1] = 0;
outtextxy(0, si * 12 % 470, s);
si = (si + 1) % 98;
break;
case WM_KEYDOWN:// 处理按键按下消息
if (!msg.prevdown)
setlinecolor(RED);
break;
case WM_KEYUP:// 处理按键抬起消息
setlinecolor(WHITE);
break;
case WM_ACTIVATE:// 处理窗口激活消息
if (msg.wParam != 0)
setlinecolor(WHITE);
else
setlinecolor(GREEN);
break;
case WM_SIZE:// 处理窗口大小改变的消息
if (msg.wParam == SIZE_MINIMIZED)// 最小化
act = false;
else if (msg.wParam == SIZE_RESTORED)// 恢复
act = true;
break;
}
}
if (act)
{
if ((x += 2) >= 640)x = 0, y += 20;
circle(x, y, 5);
}
Sleep(20);
}
return 0;
}