easyx中通过鼠标点击两点画线段
时间: 2023-11-27 08:05:57 浏览: 115
计算机图形学中点画线程序
在 EasyX 中,你可以通过鼠标点击两个点来画一条线段,具体的实现方法如下:
首先需要定义两个点的结构体:
```c++
struct Point
{
int x;
int y;
};
```
然后在主函数中定义两个点,分别用于存储鼠标点击的起点和终点:
```c++
Point start, end;
```
接下来,在 `initgraph` 函数中设置鼠标点击事件的回调函数:
```c++
setmouseclick(WM_LBUTTONDOWN, MouseClick);
```
`MouseClick` 函数的实现如下:
```c++
void MouseClick(int x, int y)
{
if (start.x == -1 && start.y == -1) // 如果起点还未设置
{
start.x = x;
start.y = y;
}
else // 如果起点已经设置
{
end.x = x;
end.y = y;
line(start.x, start.y, end.x, end.y); // 画线段
start.x = start.y = end.x = end.y = -1; // 重置起点和终点
}
}
```
在 `MouseClick` 函数中,如果起点还未设置,则将当前鼠标点击的位置设置为起点;如果起点已经设置,则将当前鼠标点击的位置设置为终点,并使用 `line` 函数画出这条线段。最后,需要将起点和终点重置为 `-1`,以便下一次的鼠标点击可以重新设置起点和终点。
阅读全文