各位大虾帮帮忙啊,我想画带箭头的直线,箭头在中间,由于不止画一条,要是能做成控件最好了,请问有什么好的方法呢?
解决方案 »
- 看JAVA程序员做自用的单元测试类好像都是常见的事,可是感觉在VB6的圈子里很少人这么做
- result(j) = db_num.OpenRecordset("select * from TabTimeData")。result(j)可不可以作数组 ,在线等!1
- 精彩电影免费看
- 怎样直接取出数据库中的第20条至40条间的记录呢!
- MDI活动子窗口
- 自制控件问题
- 如何设计一个食堂管理系统
- 求JBIG的算法
- 一个语句在循环中执行一次应怎么写代码?
- VB应用程序如何与DOS下的应用程序的快速数据交换
- 有个现成的VS2005+SQL2005带数据的项目,运行不成功
- office 不在支持VBA,我们应该怎么办?
px,py是箭头头部坐标;da是箭头方向,shaftlen是箭头线长度,arrlen是箭头长度
Private Sub drawArrow(ByVal pX As Single, ByVal pY As Single, ByVal dA As Single, Optional shaftLen As Single, Optional ByVal arrLen As Single = 10)
Dim x1 As Single, y1 As Single, x2 As Single, y2 As Single
Dim arrA As Single, a As Single
Dim rA As Single
arrA = PI / 12 '箭头夹角
rA = dA * PI / 180 '转化成弧度
a = PI - rA - arrA
x1 = pX + arrLen * Cos(a)
y1 = pY + arrLen * Sin(a)
a = PI / 2 - (rA - arrA)
x2 = pX - arrLen * Sin(a)
y2 = pY + arrLen * Cos(a)
'划线
mPic.Line (pX, pY)-(x1, y1)
mPic.Line (pX, pY)-(x2, y2)
If shaftLen <= 0 Then Exit Sub
Dim x As Single, y As Single
x = pX + Cos(PI - rA) * shaftLen
y = pY + Sin(PI - rA) * shaftLen
mPic.Line (pX, pY)-(x, y)
End Sub