⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsline.cls

📁 办公流程定制
💻 CLS
📖 第 1 页 / 共 4 页
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsLine"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit
'用户类型定义区域
Public Type POINTAPI
        X As Long
        Y As Long
End Type

Public Type ConditionStruct
    CDS_SubCondId As Integer
    CDS_CondName As String
    CDS_AppName As String
    CDS_AppField As String
    CDS_OperSignal As String
    CDS_CondValue As String
    CDS_LogicSignal As String
End Type

Private mvarSetActiveFlag As Boolean
Private mvarCond() As ConditionStruct

'保持属性值的局部变量
Private mvarBeginPoint As POINTAPI '局部复制
Private mvarEndPoint As POINTAPI '局部复制
Private mvarDrawFrm As Object '局部复制
Private mvarMidPointCount As Integer '局部复制
Private mvarMidPoint() As POINTAPI '局部复制
Private mvarLineNo As Integer   '局部复制
Private mvarClsName As String '局部复制
Private mvarLineType As Integer '局部复制
Private mvarLineMidPoint As POINTAPI '局部复制

'=====================================
'绘制三次参数样条插值曲线
Private X(10) As Single, Y(10) As Single, u1(400000) As Single, v1(400000) As Single
Private num As Integer
'保持属性值的局部变量
Private mvarBeginRect As Integer '局部复制
Private mvarEndRect As Integer '局部复制
'保持属性值的局部变量
Private mvarBeginRectPlace As String '局部复制
Private mvarEndPointPlace As String '局部复制
'保持属性值的局部变量
Private mvarLineName As String '局部复制

Public Property Let LineName(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.LineName = 5
    mvarLineName = vData
End Property


Public Property Get LineName() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.LineName
    LineName = mvarLineName
End Property



Public Property Let EndPointPlace(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.EndPointPlace = 5
    mvarEndPointPlace = vData
End Property


Public Property Get EndPointPlace() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.EndPointPlace
    EndPointPlace = mvarEndPointPlace
End Property



Public Property Let BeginRectPlace(ByVal vData As String)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.BeginRectPlace = 5
    mvarBeginRectPlace = vData
End Property


Public Property Get BeginRectPlace() As String
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.BeginRectPlace
    BeginRectPlace = mvarBeginRectPlace
End Property



Public Property Let EndRect(ByVal vData As Integer)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.EndRect = 5
    mvarEndRect = vData
End Property


Public Property Get EndRect() As Integer
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.EndRect
    EndRect = mvarEndRect
End Property



Public Property Let BeginRect(ByVal vData As Integer)
'向属性指派值时使用,位于赋值语句的左边。
'Syntax: X.BeginRect = 5
    mvarBeginRect = vData
End Property


Public Property Get BeginRect() As Integer
'检索属性值时使用,位于赋值语句的右边。
'Syntax: Debug.Print X.BeginRect
    BeginRect = mvarBeginRect
End Property

'*******************************************************
'*******************************************************
'类的所有应用属性定义
'*******************************************************
'*******************************************************
Public Property Let LineMidPoint(vData As POINTAPI)
'Syntax: Set x.LineMidPoint = Form1
    mvarLineMidPoint = vData
End Property
Public Property Get LineMidPoint() As POINTAPI
'Syntax: Debug.Print X.LineMidPoint
    LineMidPoint = mvarLineMidPoint
End Property
'=======================================================
'获得、设置类的线型
'=======================================================
Public Property Let LineType(ByVal vData As Integer)
'Syntax: X.LineType = 5
    mvarLineType = vData
End Property

Public Property Get LineType() As Integer
'Syntax: Debug.Print X.LineType
    LineType = mvarLineType
End Property
'=======================================================
'获得、设置类的名称
'=======================================================
Public Property Let ClsName(ByVal vData As String)
'Syntax: X.LineName = 5
    mvarClsName = vData
End Property
Public Property Get ClsName() As String
'Syntax: Debug.Print X.LineName
    ClsName = mvarClsName
End Property
'=======================================================
'获得、设置线的序号
'=======================================================
Public Property Let LineNo(ByVal vData As Integer)
'Syntax: X.LineNo = 5
    mvarLineNo = vData
End Property

Public Property Get LineNo() As Integer
'Syntax: Debug.Print X.LineNo
    LineNo = mvarLineNo
End Property
'=======================================================
'获得、设置线的中间点个数
'=======================================================
Public Property Let MidPointCount(ByVal vData As Integer)
'Syntax: Set x.MidPointCount = Form1
    mvarMidPointCount = vData
End Property

Public Property Get MidPointCount() As Integer
'Syntax: Debug.Print X.MidPointCount
    MidPointCount = mvarMidPointCount
End Property

'=======================================================
'获得、设置画线载体
'=======================================================
Public Property Set DrawFrm(ByVal vData As Object)
'Syntax: Set x.DrawFrm = Form1
    Set mvarDrawFrm = vData
End Property

Public Property Get DrawFrm() As Object
Attribute DrawFrm.VB_Description = "获得、设置画线的载体"
'Syntax: Debug.Print X.DrawFrm
    Set DrawFrm = mvarDrawFrm
End Property

'=======================================================
'获得、设置线的终点
'=======================================================
Public Property Let EndPoint(vData As POINTAPI)
Attribute EndPoint.VB_Description = "获得、设置线的结束点"
'Syntax: Set x.EndPoint = Form1
    mvarEndPoint = vData
End Property

Public Property Get EndPoint() As POINTAPI
'Syntax: Debug.Print X.EndPoint
    EndPoint = mvarEndPoint
End Property

'=======================================================
'获得、设置线起点
'=======================================================
Public Property Let BeginPoint(vData As POINTAPI)
Attribute BeginPoint.VB_Description = "获得、设置线的开始点"
'Syntax: Set x.BeginPoint = Form1
    mvarBeginPoint = vData
End Property

Public Property Get BeginPoint() As POINTAPI
'Syntax: Debug.Print X.BeginPoint
    BeginPoint = mvarBeginPoint
End Property

'********************************************************
'********************************************************
'类的应用方法定义
'*********************************************************
'*********************************************************
Public Function ReturnCondition(ByVal vData As Integer) As ConditionStruct
Dim j As Integer
    j = UBound(mvarCond)
    If j >= vData Then
        ReturnCondition = mvarCond(vData)
    Else
        MsgBox "超出范围。"
    End If
End Function
Public Sub SetCondition(vData As ConditionStruct, i As Integer)
Dim j As Integer
    j = UBound(mvarCond)
    If j > i Then
        mvarCond(i) = vData
    Else
        ReDim Preserve mvarCond(i)
        mvarCond(i) = vData
    End If
End Sub
Public Function GetCondNum() As Integer
Dim i As Integer
    If IsNull(mvarCond) Then
        GetCondNum = -1
    Else
        GetCondNum = UBound(mvarCond)
    End If
End Function
Public Function SetCondNum(vData As Integer)
    ReDim Preserve mvarCond(vData)
End Function

Public Function ReturnPoint(ByVal vData As Integer) As POINTAPI
    If vData < 1 Then
        ReturnPoint.X = 0
        ReturnPoint.Y = 0
    ElseIf vData > mvarMidPointCount Then
        ReturnPoint.X = 0
        ReturnPoint.Y = 0
    Else
        ReturnPoint = mvarMidPoint(vData)
    End If
End Function
Public Function SetPoint(vData As POINTAPI, ByVal vNum As Integer)
Dim i As Integer
    If IsNull(mvarMidPoint) Then
        i = -1
    Else
        i = UBound(mvarMidPoint)
    End If
    If vNum > i Then
        ReDim Preserve mvarMidPoint(vNum)
    End If
    mvarMidPoint(vNum) = vData
End Function
Public Sub Paint() '
Dim i, j, k, strLong As Long
    On Error Resume Next
    '==========================
    mvarDrawFrm.DrawMode = 13
    mvarDrawFrm.DrawWidth = 1
    mvarDrawFrm.DrawStyle = 0
    mvarDrawFrm.FillStyle = 0
    '============================
    If mvarLineType = 4 Then '回退线
        'drawcir
        MergePoint
        For i = 2 To mvarMidPointCount
            mvarDrawFrm.Line (mvarMidPoint(i).X, mvarMidPoint(i).Y)-(mvarMidPoint(i - 1).X, mvarMidPoint(i - 1).Y), RGB(255, 0, 0)
        Next i
        mvarBeginPoint = mvarMidPoint(1)
        mvarEndPoint = mvarMidPoint(mvarMidPointCount)
        DrawArrow
    ElseIf mvarLineType = 3 Then '直流线
        MergePoint
        For i = 2 To mvarMidPointCount
            mvarDrawFrm.Line (mvarMidPoint(i).X, mvarMidPoint(i).Y)-(mvarMidPoint(i - 1).X, mvarMidPoint(i - 1).Y), RGB(0, 255, 0)
        Next i
        mvarBeginPoint = mvarMidPoint(1)
        mvarEndPoint = mvarMidPoint(mvarMidPointCount)
        DrawArrow
    Else '分流线
        MergePoint
        For i = 2 To mvarMidPointCount
            mvarDrawFrm.Line (mvarMidPoint(i).X, mvarMidPoint(i).Y)-(mvarMidPoint(i - 1).X, mvarMidPoint(i - 1).Y), RGB(0, 0, 255)

⌨️ 快捷键说明

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