easyx中怎样得到鼠标点击的坐标
时间: 2023-11-27 21:05:34 浏览: 678
在EasyX中,可以使用`GetCursorPos()`函数获取当前鼠标的屏幕坐标,然后使用`ScreenToClient()`函数将屏幕坐标转换为窗口坐标。
以下是示例代码:
```c++
#include <graphics.h>
int main()
{
// 初始化图形窗口
initgraph(640, 480);
// 循环等待鼠标点击事件
while (true)
{
// 判断是否有鼠标点击事件
if (MouseHit())
{
// 获取鼠标点击信息
MOUSEMSG msg = GetMouseMsg();
if (msg.uMsg == WM_LBUTTONDOWN) // 判断是否是左键点击事件
{
// 获取鼠标点击坐标
POINT pt = msg.pt;
ScreenToClient(GetHWnd(), &pt);
// 在绘图窗口上绘制一个圆
setfillcolor(RED);
fillcircle(pt.x, pt.y, 10);
}
}
// 刷新绘图窗口
flushmouse();
Sleep(10);
}
// 关闭图形窗口
closegraph();
return 0;
}
```
在上面的示例代码中,通过调用`MouseHit()`函数判断是否有鼠标点击事件,如果有则调用`GetMouseMsg()`函数获取鼠标点击信息。接着,通过判断`uMsg`成员变量是否等于`WM_LBUTTONDOWN`来判断是否是左键点击事件。如果是,则获取鼠标点击坐标,使用`setfillcolor()`函数设置填充颜色,调用`fillcircle()`函数在窗口上绘制一个圆,并在每次循环结束后调用`flushmouse()`函数刷新窗口。
阅读全文