VC实现模拟接线解决方案
VC实现模拟接线
我想用VC做一个实验模拟接线,要求能实现点击一个元件上的接线柱后,再点击另一个接线柱,两个接线柱之间 会出现像连连看游戏中那样的连线,有直线,折线,求助各位老师,有没有这方面的资料可以分享一下,如果有实例那就再好不过了。
------解决思路----------------------
判断鼠标事件,如果单击了获得鼠标当前的坐标,然后用GDI绘图画线就可以了
------解决思路----------------------
响应鼠标事件,自己画图
------解决思路----------------------
记录并保存每次鼠标点击事件发生时的坐标,当坐标数量大于1时,可用画线指令连接各个点。提供2个画线函数供参考
我想用VC做一个实验模拟接线,要求能实现点击一个元件上的接线柱后,再点击另一个接线柱,两个接线柱之间 会出现像连连看游戏中那样的连线,有直线,折线,求助各位老师,有没有这方面的资料可以分享一下,如果有实例那就再好不过了。
------解决思路----------------------
判断鼠标事件,如果单击了获得鼠标当前的坐标,然后用GDI绘图画线就可以了
------解决思路----------------------
响应鼠标事件,自己画图
------解决思路----------------------
记录并保存每次鼠标点击事件发生时的坐标,当坐标数量大于1时,可用画线指令连接各个点。提供2个画线函数供参考
// 画直线
void DrawLine(CDC* pdc, int x1, int y1, int x2, int y2, int style, int pen, COLORREF color);
void DrawLine(CDC* pdc, POINT p1,POINT p2, int style, int pen, COLORREF color);
// 画直线
void CXXXX::DrawLine(CDC * pdc,
int x1, int y1, // 起点
int x2, int y2, // 终点
int style, // 风格:PS_SOLID PS_DASH 等
int pen, // 笔宽
COLORREF color) // 画笔颜色
{
CPen pn;
pn.CreatePen(style,pen,color);
pdc->SetBkMode(TRANSPARENT); // 设置透明背景
CPen* oldP=pdc->SelectObject(&pn);
pdc->MoveTo(x1,y1);
pdc->LineTo(x2,y2);
pdc->SelectObject(oldP);
}
void CXXXX::DrawLine(CDC * pdc,
POINT p1, // 起点
POINT p2, // 终点
int style, // 风格:PS_SOLID PS_DASH 等
int pen,
COLORREF color)
{
DrawLine(pdc,p1.x,p1.y,p2.x,p2.y,style,pen,color);
}