📄 cline.vb
字号:
Imports System.Drawing.Drawing2D
Public Class CLine
Inherits GESelecter
Private m_Begin, m_End As PointF
'直线段的起点属性
Public Property LBegin() As PointF
Get
Return m_Begin
End Get
Set(ByVal newValue As PointF)
m_Begin = newValue
End Set
End Property
'直线段的终点属性
Public Property LEnd() As PointF
Get
Return m_End
End Get
Set(ByVal newValue As PointF)
m_End = newValue
End Set
End Property
'无参构造函数
Public Sub New()
End Sub
'构造函数,用已知的两点构造直线段
Public Sub New(ByVal pBegin As PointF, ByVal pEnd As PointF)
m_Begin = pBegin
m_End = pEnd
End Sub
'绘直线段
Public Overrides Sub Draw(ByVal g As Graphics, _
ByVal aDrawMode As geDrawMode)
Dim pen As Pen = DrawSettings(aDrawMode)
g.DrawLine(pen, m_Begin.X, m_Begin.Y, m_End.X, m_End.Y)
End Sub
'拾取直线段
Public Overrides Function Pick(ByVal aPos As PointF) As Boolean
Dim gp As New GraphicsPath()
gp.AddLine(m_Begin, m_End)
If gp.GetBounds.Contains(aPos) Then
If gp.IsOutlineVisible(aPos, Pens.Black) Then
gp.Dispose()
Return True
Else
gp.Dispose()
Return False
End If
Else
gp.Dispose()
Return False
End If
End Function
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -