再修改一下,自己把自己繞住了....
創(chuàng)新互聯(lián)專注于霍城企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)?;舫蔷W(wǎng)站建設(shè)公司,為霍城等地區(qū)提供建站服務(wù)。全流程按需搭建網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
Option Explicit
'問題:比如鼠標(biāo)任意點兩點就出來一個箭頭
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
既然會畫直線了,那就應(yīng)該會畫箭頭了(兩條短直線相交就能成箭頭 )
標(biāo)序號其實就是算出位置寫字
箭頭必須自己畫(就是一根直線再加兩根短的直線作為箭頭)
虛線可以設(shè)置PictrueBox的DrawStyle屬性為2-Dot,這個屬性還有其他的一些常見線型,你可以逐一測試
線寬可以通過設(shè)置DrawWidth屬性來改變
修改坐標(biāo)要用PictureBox的Scale方法
Scale
方法
用以定義
Form、PictureBox
或
Printer
的坐標(biāo)系統(tǒng)。不支持命名參數(shù)。
語法
object.Scale
(x1,
y1)
-
(x2,
y2)
Scale
方法的語法包含下列部分:
部分
描述
object
可選的。一個對象表達(dá)式,其值為“應(yīng)用于”列表中的一個對象。如果省略
object,則帶有焦點的
Form
對象缺省為
object。
x1,
y1
可選的。均為單精度值,指示定義
object
左上角的水平(x-軸)和垂直(y-軸)坐標(biāo)。這些值必須用括號括起。如果省略,則第二組坐標(biāo)也必須省略。
x2,
y2
可選的。均為單精度值,指示定義
object
右下角的水平和垂直坐標(biāo)。這些值必須用括號括起。如果省略,則第一組坐標(biāo)也必須省略。
說明
Scale
方法使您能夠?qū)⒆鴺?biāo)系統(tǒng)重置到所選擇的任意刻度。Scale
對運行時的圖形語句以及控件位置的坐標(biāo)系統(tǒng)都有影響。
如果使用不帶參數(shù)的
Scale(兩組坐標(biāo)都省略),坐標(biāo)系統(tǒng)將重置為緹。
比如你要設(shè)置左上角(0,0)右下角(100,100)
Picture1.Scale
(0,0)-(100,100)
這樣就可以了
當(dāng)前題目:vb.net繪制箭頭 用C語言編寫箭頭代碼
分享地址:http://aaarwkj.com/article14/hhjjge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、云服務(wù)器、定制開發(fā)、網(wǎng)站制作、服務(wù)器托管、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)