作者tpjobp (月之殇)
看板Visual_Basic
标题Re: [VB6 ] 如何在PictureBox上用滑鼠点两点画线?
时间Tue May 2 17:33:17 2006
※ 引述《cppkiller (cppkiller)》之铭言:
引言恕删
在下提供两种写法 都是由阁下的程式修改而成 也都或有利弊...谨供参考指教
第一种写法
Dim X1,X2,Y1,Y2,Length as Single
Dim Counter as Boolean
Private Sub Form_Load()
Picture1.DraWidth=10'把设定的东西放在这里比较好
End Sub
Private Sub Picture1_MouseDown((Button As Integer, Shift As_
Integer, X As Single, Y As Single)
Picture1.Pset(X,Y),RGB(255,0,0)
Counter=Not(Counter)
If Counter Then
X1=X;Y1=Y
Else
X2=X;Y2=Y
End if
End Sub
Private Sub Command1_Click()
Length=Sqr((X1-X2)^2+(Y1-Y2)^2)
Picture1.Line (X1,Y1) - (X2,Y2) , vbBlue
Print Length
End Sub
第二种写法
Dim X1(1),Y1(1),Length as Single
Dim Counter as Byte
Private Sub Form_Load()
Picture1.DrawWidth=10
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As_
Integer, X As Single, Y As Single)
Picture1.Pset(X,Y),RGB (255,0,0)
Counter=(Counter+1) Mod 2
X1(Counter)=X
Y1(Counter)=Y
End Sub
Private Sub Command1_Click()
Length=Sqr((X1(0)-X1(1))^2+(Y1(0)-Y1(1))^2)
Picture1.Line (X1(0),Y1(0))-(X1(1),Y1(1)),vbBlue
Print Length
End Sub
以耗用资源来说...第一种会比较好....
不过以程式长度和後续仍有使用到XY座标的状况则是第二种较适用
--
怀抱酸水半满
若误子弟无心
一揖还请指教
但望前行提携
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.81.88.26