再修改一下,自己把自己繞住了....
創(chuàng)新互聯(lián)專注于霍城企業(yè)網站建設,成都響應式網站建設公司,成都商城網站開發(fā)。霍城網站建設公司,為霍城等地區(qū)提供建站服務。全流程按需搭建網站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
Option Explicit
'問題:比如鼠標任意點兩點就出來一個箭頭
Private Type Point
X As Single
Y As Single
End Type
Private Sub GetArrow(P1 As Point, P2 As Point, Optional pLen As Single = 200)
'pLen箭頭長度
Dim ang As Single
Dim aPt1 As Point, aPt2 As Point
ang = Sqr((P2.Y - P1.Y) * (P2.Y - P1.Y) + (P2.X - P1.X) * (P2.X - P1.X))
If ang 0 Then
aPt1.X = P2.X + pLen * ((P1.X - P2.X) + (P1.Y - P2.Y) / 2) / ang
aPt1.Y = P2.Y + pLen * ((P1.Y - P2.Y) - (P1.X - P2.X) / 2) / ang
aPt2.X = P2.X + pLen * ((P1.X - P2.X) - (P1.Y - P2.Y) / 2) / ang
aPt2.Y = P2.Y + pLen * ((P1.Y - P2.Y) + (P1.X - P2.X) / 2) / ang
End If
Me.Cls
Me.Line (aPt1.X, aPt1.Y)-(P2.X, P2.Y)
Me.Line (aPt2.X, aPt2.Y)-(P2.X, P2.Y)
Me.Line (P1.X, P1.Y)-(P2.X, P2.Y)
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static b As Boolean
Static Pt1 As Point
Static Pt2 As Point
b = Not b
If b Then
Pt1.X = X
Pt1.Y = Y
Else
Pt2.X = X
Pt2.Y = Y
GetArrow Pt1, Pt2
End If
End Sub
建一個Text1,Picture1,Picture2,Picture3,Picture4。
代碼如下。
============
Private Sub Form_Resize()
Picture1.Print "←"
Picture2.Print "→"
Picture3.Print "↑"
Picture4.Print "↓"
End Sub
Private Sub Picture1_Click()
Text1.Text = "單擊向左箭頭"
End Sub
Private Sub Picture2_Click()
Text1.Text = "單擊向右箭頭"
End Sub
Private Sub Picture3_Click()
Text1.Text = "單擊向上箭頭"
End Sub
Private Sub Picture4_Click()
Text1.Text = "單擊向下箭頭"
End Sub
既然會畫直線了,那就應該會畫箭頭了(兩條短直線相交就能成箭頭 )
標序號其實就是算出位置寫字
箭頭必須自己畫(就是一根直線再加兩根短的直線作為箭頭)
虛線可以設置PictrueBox的DrawStyle屬性為2-Dot,這個屬性還有其他的一些常見線型,你可以逐一測試
線寬可以通過設置DrawWidth屬性來改變
修改坐標要用PictureBox的Scale方法
Scale
方法
用以定義
Form、PictureBox
或
Printer
的坐標系統(tǒng)。不支持命名參數(shù)。
語法
object.Scale
(x1,
y1)
-
(x2,
y2)
Scale
方法的語法包含下列部分:
部分
描述
object
可選的。一個對象表達式,其值為“應用于”列表中的一個對象。如果省略
object,則帶有焦點的
Form
對象缺省為
object。
x1,
y1
可選的。均為單精度值,指示定義
object
左上角的水平(x-軸)和垂直(y-軸)坐標。這些值必須用括號括起。如果省略,則第二組坐標也必須省略。
x2,
y2
可選的。均為單精度值,指示定義
object
右下角的水平和垂直坐標。這些值必須用括號括起。如果省略,則第一組坐標也必須省略。
說明
Scale
方法使您能夠將坐標系統(tǒng)重置到所選擇的任意刻度。Scale
對運行時的圖形語句以及控件位置的坐標系統(tǒng)都有影響。
如果使用不帶參數(shù)的
Scale(兩組坐標都省略),坐標系統(tǒng)將重置為緹。
比如你要設置左上角(0,0)右下角(100,100)
Picture1.Scale
(0,0)-(100,100)
這樣就可以了