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

📄 workflow.ctl

📁 办公流程定制
💻 CTL
📖 第 1 页 / 共 4 页
字号:
                MidPoint.X = mGoalPt.X - mSourcePt.X + mActiveObject.EndPoint.X
                MidPoint.Y = mGoalPt.Y - mSourcePt.Y + mActiveObject.EndPoint.Y
                
                X1 = MidPoint.X - 300
                X2 = MidPoint.X + 300
                Y1 = MidPoint.Y - 400
                Y2 = MidPoint.Y + 400
                picCanvas.Line (X2, Y2)-(X2, Y1)
                picCanvas.Line (X2, Y2)-(X1, Y2)
                picCanvas.Line (X1, Y1)-(X1, Y2)
                picCanvas.Line (X1, Y1)-(X2, Y1)
                
                '================================
                With frmNode
                    Set .DrawNode = mActiveObject
                    UserControl.Enabled = False
                    Load frmNode
                    .Show 1
                    UserControl.Enabled = True
                    'SetParent .hwnd, picCanvas.hwnd
                    '.Move (UserControl.Width - .Width) / 2, (UserControl.Height - .Height) / 2
                End With
            End If
        End If
        Exit Sub
    End If
End Sub
Private Sub picCanvas_KeyDown(KeyCode As Integer, Shift As Integer)
Dim i, j, k As Integer
If KeyCode = 46 And mDrawFlag = False And mActiveFlag = True Then '删除
    If mOperState = 1 Or mOperState = 2 Then
        If mActiveObject.ClsName = "LINE" Then
            mLineCount = mLineCount - 1
            j = mActiveObject.LineNo
            mActiveFlag = False
            Set mActiveObject = Nothing
            For i = j To mLineCount
                Set mvarLine(i) = mvarLine(i + 1)
                mvarLine(i).LineNo = i
            Next i
            ReDim Preserve mvarLine(mLineCount)
        ElseIf mActiveObject.ClsName = "RECT" Then
            mRectCount = mRectCount - 1
            j = mActiveObject.RectNo
            mActiveFlag = False
            Set mActiveObject = Nothing
            For i = j To mRectCount
                Set mvarRect(i) = mvarRect(i + 1)
                mvarRect(i).RectNo = i
            Next i
            ReDim Preserve mvarRect(mRectCount)
        End If
        picCanvas_Paint
    End If
End If
End Sub
Private Sub picCanvas_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim BeginPoint As POINTAPI
    
    BeginPoint.X = X
    BeginPoint.Y = Y
    mGoalPt = BeginPoint
    mSourcePt = BeginPoint
    mMouseDownFlag = True
    If mDrawFlag = False Then  '处理选择的图形
        If mActiveFlag = True Then
            If mActiveObject.ClsName = "LINE" Then
                mMoveLineInPointID = mActiveObject.ExistState(X, Y)
                If mMoveLineInPointID > 0 Then
                    If mActiveObject.MidPointCount = mMoveLineInPointID Then
                        mLastPointFlag = True
                    Else
                        mLastPointFlag = False
                    End If
                    If mMoveLineInPointID = 1 Or mMoveLineInPointID = mActiveObject.MidPointCount Then
                    Else
                    mActiveObject.MoveLine 100, mMoveLineInPointID, 0, 0
                    End If
                Else '选择整条线
                    'mActiveObject.MouseMove 100, Shift, 0, 0
                End If
            ElseIf mActiveObject.ClsName = "RECT" Then
                BeginPoint = mActiveObject.EndPoint
                picCanvas.DrawMode = 2
                picCanvas.DrawWidth = 1
                picCanvas.DrawStyle = 1
        
                X1 = BeginPoint.X - 300
                X2 = BeginPoint.X + 300
                Y1 = BeginPoint.Y - 400
                Y2 = BeginPoint.Y + 400
                picCanvas.Line (X2, Y2)-(X2, Y1)
                picCanvas.Line (X2, Y2)-(X1, Y2)
                picCanvas.Line (X1, Y1)-(X1, Y2)
                picCanvas.Line (X1, Y1)-(X2, Y1)
            End If
        End If
        Exit Sub
    End If
    '画图形并设置图形属性
    If mSelectFlag = 2 Then  '处理节点图形
        picCanvas.DrawMode = 2
        picCanvas.DrawWidth = 1
        picCanvas.DrawStyle = 1

        X1 = BeginPoint.X - 300
        X2 = BeginPoint.X + 300
        Y1 = BeginPoint.Y - 400
        Y2 = BeginPoint.Y + 400
        picCanvas.Line (X2, Y2)-(X2, Y1)
        picCanvas.Line (X2, Y2)-(X1, Y2)
        picCanvas.Line (X1, Y1)-(X1, Y2)
        picCanvas.Line (X1, Y1)-(X2, Y1)
        mRectCount = mRectCount + 1
        ReDim Preserve mvarRect(mRectCount)
        Set mvarRect(mRectCount).DrawFrm = UserControl.picCanvas
        mvarRect(mRectCount).RectNo = mRectCount
        Set mvarRect(mRectCount).Cache = pic
        Set mvarRect(mRectCount).SetImageList = imgbk
    ElseIf mSelectFlag = 1 Then '画分流前进线
        k = 0
        For i = 1 To mRectCount
            j = mvarRect(i).LinkPointState(X, Y)
            If j = 0 Then
            ElseIf j = 1 Then '上中点
                BeginPoint.X = mvarRect(i).EndPoint.X
                BeginPoint.Y = mvarRect(i).EndPoint.Y - 400
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            ElseIf j = 2 Then '下中点
                BeginPoint.X = mvarRect(i).EndPoint.X
                BeginPoint.Y = mvarRect(i).EndPoint.Y + 400
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            ElseIf j = 3 Then '左中点
                BeginPoint.X = mvarRect(i).EndPoint.X - 300
                BeginPoint.Y = mvarRect(i).EndPoint.Y
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            ElseIf j = 4 Then '右中点
                BeginPoint.X = mvarRect(i).EndPoint.X + 300
                BeginPoint.Y = mvarRect(i).EndPoint.Y
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            End If
        Next i
        If j = 0 Then
            mMouseDownFlag = True
            mDrawFlag = False
        Else
            mLineBegin = j
            picCanvas.MousePointer = 2
            mLineCount = mLineCount + 1
            ReDim Preserve mvarLine(mLineCount)
            mvarLine(mLineCount).BeginPoint = BeginPoint
            Set mvarLine(mLineCount).DrawFrm = UserControl.picCanvas
            mvarLine(mLineCount).LineNo = mLineCount
            mvarLine(mLineCount).LineType = 1
            mvarLine(mLineCount).BeginRect = k
            mvarLine(mLineCount).LineName = "分流线"
            If j = 0 Then
                mvarLine(mLineCount).BeginRectPlace = ""
            ElseIf j = 1 Then
                mvarLine(mLineCount).BeginRectPlace = "上"
            ElseIf j = 2 Then
                mvarLine(mLineCount).BeginRectPlace = "下"
            ElseIf j = 4 Then
                mvarLine(mLineCount).BeginRectPlace = "左"
            ElseIf j = 3 Then
                mvarLine(mLineCount).BeginRectPlace = "右"
            End If
        End If
    ElseIf mSelectFlag = 3 Then   '画直流前进线
        For i = 1 To mRectCount
            j = mvarRect(i).LinkPointState(X, Y)
            If j = 0 Then
            ElseIf j = 1 Then '上中点
                BeginPoint.X = mvarRect(i).EndPoint.X
                BeginPoint.Y = mvarRect(i).EndPoint.Y - 400
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            ElseIf j = 2 Then '下中点
                BeginPoint.X = mvarRect(i).EndPoint.X
                BeginPoint.Y = mvarRect(i).EndPoint.Y + 400
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            ElseIf j = 3 Then '左中点
                BeginPoint.X = mvarRect(i).EndPoint.X - 300
                BeginPoint.Y = mvarRect(i).EndPoint.Y
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            ElseIf j = 4 Then '右中点
                BeginPoint.X = mvarRect(i).EndPoint.X + 300
                BeginPoint.Y = mvarRect(i).EndPoint.Y
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            End If
        Next i
        If j = 0 Then
            mMouseDownFlag = True
            mDrawFlag = False
        Else
            mLineBegin = j
            picCanvas.MousePointer = 2
            mLineCount = mLineCount + 1
            ReDim Preserve mvarLine(mLineCount)
            mvarLine(mLineCount).BeginPoint = BeginPoint
            Set mvarLine(mLineCount).DrawFrm = UserControl.picCanvas
            mvarLine(mLineCount).LineNo = mLineCount
            mvarLine(mLineCount).LineType = 3
            mvarLine(mLineCount).BeginRect = k
            mvarLine(mLineCount).LineName = "直流线"
            If j = 0 Then
                mvarLine(mLineCount).BeginRectPlace = ""
            ElseIf j = 1 Then
                mvarLine(mLineCount).BeginRectPlace = "上"
            ElseIf j = 2 Then
                mvarLine(mLineCount).BeginRectPlace = "下"
            ElseIf j = 4 Then
                mvarLine(mLineCount).BeginRectPlace = "左"
            ElseIf j = 3 Then
                mvarLine(mLineCount).BeginRectPlace = "右"
            End If
        End If
    ElseIf mSelectFlag = 4 Then   '画直流后退线
        For i = 1 To mRectCount
            j = mvarRect(i).LinkPointState(X, Y)
            If j = 0 Then
            ElseIf j = 1 Then '上中点
                BeginPoint.X = mvarRect(i).EndPoint.X
                BeginPoint.Y = mvarRect(i).EndPoint.Y - 400
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            ElseIf j = 2 Then '下中点
                BeginPoint.X = mvarRect(i).EndPoint.X
                BeginPoint.Y = mvarRect(i).EndPoint.Y + 400
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            ElseIf j = 3 Then '左中点
                BeginPoint.X = mvarRect(i).EndPoint.X - 300
                BeginPoint.Y = mvarRect(i).EndPoint.Y
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            ElseIf j = 4 Then '右中点
                BeginPoint.X = mvarRect(i).EndPoint.X + 300
                BeginPoint.Y = mvarRect(i).EndPoint.Y
                mGoalPt = BeginPoint
                mSourcePt = BeginPoint
                k = i
                Exit For
            End If
        Next i
        If j = 0 Then
            mMouseDownFlag = True
            mDrawFlag = False
        Else
            mLineBegin = j
            picCanvas.MousePointer = 2
            mLineCount = mLineCount + 1
            ReDim Preserve mvarLine(mLineCount)
            mvarLine(mLineCount).BeginPoint = BeginPoint
            Set mvarLine(mLineCount).DrawFrm = UserControl.picCanvas
            mvarLine(mLineCount).LineNo = mLineCount
            mvarLine(mLineCount).LineType = 4
            mvarLine(mLineCount).BeginRect = k
            mvarLine(mLineCount).LineName = "后退线"
            If j = 0 Then
                mvarLine(mLineCount).BeginRectPlace = ""
            ElseIf j = 1 Then
                mvarLine(mLineCount).BeginRectPlace = "上"
            ElseIf j = 2 Then
                mvarLine(mLineCount).BeginRectPlace = "下"
            ElseIf j = 4 Then
                mvarLine(mLineCount).BeginRectPlace = "左"
            ElseIf j = 3 Then
                mvarLine(mLineCount).BeginRectPlace = "右"
            End If
        End If
    End If

⌨️ 快捷键说明

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