该程序是 EasyX 帮助中的范例程序。
实现的功能是:当移动鼠标时,在鼠标轨迹上画红点,点左键,画一个小方块;按 Ctrl 再点左键,画一个大方块;按鼠标右键退出。
// 程序名称:鼠标操作演示
// 编译环境:Visual C++ 6.0,EasyX 2011惊蛰版
// 最后更新:2009-11-23
//
#include <graphics.h>
#include <conio.h>
void main()
{
// 初始化图形窗口
initgraph(640, 480);
MOUSEMSG m; // 定义鼠标消息
while(true)
{
// 获取一条鼠标消息
m = GetMouseMsg();
switch(m.uMsg)
{
case WM_MOUSEMOVE:
// 鼠标移动的时候画红色的小点
putpixel(m.x, m.y, RED);
break;
case WM_LBUTTONDOWN:
// 如果点左键的同时按下了 Ctrl 键
if (m.mkCtrl)
// 画一个大方块
rectangle(m.x-10, m.y-10, m.x+10, m.y+10);
else
// 画一个小方块
rectangle(m.x-5, m.y-5, m.x+5, m.y+5);
break;
case WM_RBUTTONUP:
return; // 按鼠标右键退出程序
}
}
// 关闭图形窗口
closegraph();
}