求用vb编一段和画图有关的程序,谁来帮帮忙?

来源:百度知道 编辑:UC知道 时间:2024/05/10 16:55:03
简单说就是分以下几部:
1.可以把已经画好的直线选中,删除
2.可以用鼠标拖动已经画好的水平线使之上下移动
3.可以用鼠标拖着已经画好的斜线的一端让它围着一个点转动。
多谢了,谁知道该怎么编?也可以只编后两部。

'在窗体上,添加一个Line控件,将Index属性设置为0,然后添加如下代码:
'可以实现的功能:
'1,点击已经存在的直线可以实现选取
'2,拖动已经存在的直线,如果拖动中间可以平移,如果拖动两端可以旋转
'3,点击空白并拖动,可以新画直线
'4,如果当前已经选中了直线(有红色的),则按Delete键可以将其删除

Dim cLine As Line
Dim cOpera As Integer '0什么也不做,1选中了对象 2画线
Dim cIndex As Integer
Dim cX As Single, cY As Single
Dim SelPos As Integer ' 0,1起点 2终点 3中间
Function JuLi(X0 As Single, Y0 As Single, X1 As Single, Y1 As Single, X2 As Single, Y2 As Single, Pos As Integer) As Single
'求(X0,Y0)到经过两点(X1,Y1),(X2,Y2)连线的距离
Dim A As Single, B As Single, C As Single, S As Single
A = Sqr((X0 - X1) ^ 2 + (Y0 - Y1) ^ 2)
B = Sqr((X0 - X2) ^ 2 + (Y0 - Y2) ^ 2)
C = Sqr((X1 - X2) ^ 2 + (Y1 - Y2) ^ 2)
If B ^ 2 >= A ^ 2 + C ^ 2 Then
JuLi = A
If JuLi < 40 Then Pos = 1
ElseIf A ^ 2 >= B ^ 2 + C ^ 2 Then
JuLi = B
If JuLi < 40 Then Pos = 2