读书人

求帮助:在图下去掉一条线再画下另一

发布时间: 2013-01-05 15:20:39 作者: rapoo

求帮助:在图上去掉一条线,再画上另一条线
我用vb的picture画了一个采集到的数据曲线,希望点一下鼠标就在鼠标的当前位置添加一个交叉线。我是在picture的mousemove中作的。但是当我新点击一个位置后,新的位置上出现了交叉线,但是旧的交叉线始终存在。

请问大家,如果希望每次点击都能去掉旧的交叉线,那该如何操作呢?我的数据曲线点很多,完全重绘一次很耗时间。
谢谢!

交叉线部分是在picture的mousemove中画的:
Dim retval As Long

Dim Pnt As POINTAPI
GetCursorPos Pnt
retval = ScreenToClient(Picture1.hwnd, Pnt)
MoveToEx Picture1.hdc, Pnt.x, 0, 0&
LineTo Picture1.hdc, Pnt.x, Picture1.Height

谢谢!

[解决办法]
偏方:
记住上一次的位置。在点击新位置时,先在上一次的位置用背景色重绘旧交叉线,然后在新位置用前景色绘制新线,保存新位置。
[解决办法]

引用:
请问如何实现"去掉线也容易,就是使用Cls即可,然后重绘所需的线即可",能说的详细点么?这样不用重绘那些数据曲线了么?
非常感谢!

PictureBox的Cls命令可以清除所有在PictureBox中的曲线,清除后,你当然只能重绘曲线了,这时你就可以有选择的绘制曲线了。绘制曲线使用Line方法
[解决办法]
还可以考虑用XOR模式画线,画两次就相当于擦除了。不过画出的线会受背景影响可能不是一种色彩。

读书人网 >VB

热点推荐