geselecter.vb

来自「苏金明编写的《用VB.NET和VC#.NET开发交互式CAD系统》一书的源代码」· VB 代码 · 共 40 行

VB
40
字号
Imports System.Collections
Imports System.Drawing.Drawing2D

Public MustInherit Class GESelecter

    Public Enum geDrawMode
        Normal = 1
        Selected = 2
        Delete = 3
    End Enum

    '绘制图元
    Public MustOverride Sub Draw(ByVal g As Graphics, ByVal drawMode As geDrawMode)

    '拾取图元
    Public MustOverride Function Pick(ByVal aPos As PointF) As Boolean

    '选择图元
    Public Sub Selected(ByVal g As Graphics, ByVal aPos As PointF)
        If Me.Pick(aPos) Then
            Me.Draw(g, geDrawMode.Delete)
            Me.Draw(g, geDrawMode.Selected)
        End If
    End Sub

    Public Function DrawSettings(ByVal aDrawMode As geDrawMode) As Pen
        Dim pen As New Pen(Color.Black)
        Select Case aDrawMode
            Case GESelecter.geDrawMode.Normal
                pen.Color = Color.Black
            Case GESelecter.geDrawMode.Selected
                pen.Color = Color.Red
                pen.DashStyle = DashStyle.Dash
            Case GESelecter.geDrawMode.Delete
                pen.Color = Color.White
        End Select
        Return pen
    End Function
End Class

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?