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

📄 workflow.ctl

📁 办公流程定制
💻 CTL
📖 第 1 页 / 共 4 页
字号:
            ElseIf j = 4 Then '右中点
                mGoalPt.X = mvarRect(i).EndPoint.X + 300
                mGoalPt.Y = mvarRect(i).EndPoint.Y
                k = i
                Exit For
            End If
        Next i
        '利用类完成线条
        If j = 0 Then
            mLineCount = mLineCount - 1
            ReDim Preserve mvarLine(mLineCount)
            mSelectFlag = 0
            mDrawFlag = False
            mMouseDownFlag = False
            picCanvas_Paint
            Exit Sub
        End If
        mvarLine(mLineCount).EndRect = k
        If j = 0 Then
            BeginRectPlace = ""
        ElseIf j = 1 Then
            mvarLine(mLineCount).EndPointPlace = "上"
        ElseIf j = 2 Then
            mvarLine(mLineCount).EndPointPlace = "下"
        ElseIf j = 4 Then
            mvarLine(mLineCount).EndPointPlace = "右"
        ElseIf j = 3 Then
            mvarLine(mLineCount).EndPointPlace = "左"
        End If
        If mLineBegin = 1 Or mLineBegin = 2 Then '上节点  和 下节点
            If j = 1 Or j = 2 Then
                mvarLine(mLineCount).MouseUp Button, Shift, CSng(mGoalPt.X), CSng(mGoalPt.Y)
            ElseIf j = 3 Or j = 4 Then
                mvarLine(mLineCount).MouseUp 60, Shift, CSng(mGoalPt.X), CSng(mGoalPt.Y)
            Else
                mvarLine(mLineCount).MouseUp Button, Shift, X, Y
            End If
        ElseIf mLineBegin = 3 Or mLineBegin = 4 Then '左节点  和 右节点
            If j = 1 Or j = 2 Then
                mvarLine(mLineCount).MouseUp 70, Shift, CSng(mGoalPt.X), CSng(mGoalPt.Y)
            ElseIf j = 3 Or j = 4 Then
                mvarLine(mLineCount).MouseUp 50, Shift, CSng(mGoalPt.X), CSng(mGoalPt.Y)
            Else
                mvarLine(mLineCount).MouseUp 50, Shift, X, Y
            End If
        Else
            If j = 1 Or j = 2 Then
                mvarLine(mLineCount).MouseUp Button, Shift, CSng(mGoalPt.X), CSng(mGoalPt.Y)
            ElseIf j = 3 Or j = 4 Then
                mvarLine(mLineCount).MouseUp 50, Shift, CSng(mGoalPt.X), CSng(mGoalPt.Y)
            Else
                mvarLine(mLineCount).MouseUp Button, Shift, X, Y
            End If
        End If
    End If
    '===========================
    mSelectFlag = 0
    mDrawFlag = False
    mMouseDownFlag = False
End Sub
Private Sub picCanvas_Paint()
Dim i As Long
Dim X, Y As Long
    picCanvas.Cls
    '完成背景网格
    picCanvas.DrawMode = 13
    picCanvas.DrawWidth = 1
    picCanvas.DrawStyle = 0
    picCanvas.FillStyle = 0
    X = picCanvas.ScaleWidth
    Y = picCanvas.ScaleHeight
    For i = 100 To Y Step 100
        picCanvas.Line (0, i)-(X, i), RGB(240, 240, 240)
    Next i
    For i = 100 To X Step 100
        picCanvas.Line (i, 0)-(i, Y), RGB(240, 240, 240)
    Next i
    For i = 1 To mRectCount
        mvarRect(i).Paint
    Next i
    For i = 1 To mLineCount
        mvarLine(i).Paint
    Next i
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
    Case 1 '直流前进
        mSelectFlag = 3
        mDrawFlag = True
        picCanvas.MousePointer = 2
    Case 2 '分流前进
        mSelectFlag = 1
        mDrawFlag = True
        picCanvas.MousePointer = 2
    Case 3 '转流程
    Case 4 '直流后退
        mSelectFlag = 4
        mDrawFlag = True
        picCanvas.MousePointer = 2
    Case 5 '节点
        mSelectFlag = 2
        mDrawFlag = True
        picCanvas.MousePointer = 2
    Case 7  '新建
        mRectCount = 0
        mLineCount = 0
        picCanvas_Paint
        Load frmWFClass
        Set frmWFClass.DrawFrm = UserControl.Toolbar1
        SetParent frmWFClass.hwnd, UserControl.hwnd
        frmWFClass.Show
        frmWFClass.Move (UserControl.Width - frmWFClass.Width) / 2, (UserControl.Height - frmWFClass.Height) / 2
    Case 8 '打开
        With Toolbar1
            .Buttons(1).Enabled = True
            .Buttons(2).Enabled = True
            .Buttons(3).Enabled = False
            .Buttons(4).Enabled = True
            .Buttons(5).Enabled = True
            .Buttons(7).Enabled = False
            .Buttons(8).Enabled = False
            .Buttons(10).Enabled = True
            .Buttons(11).Enabled = True
        End With
        Call ReadData(picCanvas, pic, imgbk)
        picCanvas_Paint
    Case 10 '保存
        If SaveDB = False Then Exit Sub
        With Toolbar1
            .Buttons(1).Enabled = False
            .Buttons(2).Enabled = False
            .Buttons(3).Enabled = False
            .Buttons(4).Enabled = False
            .Buttons(5).Enabled = False
            .Buttons(7).Enabled = True
            .Buttons(8).Enabled = True
            .Buttons(10).Enabled = False
            .Buttons(11).Enabled = False
        End With
        m_WFState = 9
    Case 11 '取消
        With Toolbar1
            .Buttons(1).Enabled = False
            .Buttons(2).Enabled = False
            .Buttons(3).Enabled = False
            .Buttons(4).Enabled = False
            .Buttons(5).Enabled = False
            .Buttons(7).Enabled = True
            .Buttons(8).Enabled = True
            .Buttons(10).Enabled = False
            .Buttons(11).Enabled = False
        End With
        mRectCount = 0
        mLineCount = 0
        picCanvas_Paint
    Case Else
End Select
End Sub
Private Sub UserControl_Initialize()
Dim tmpbutton As Button
    mLineCount = 0   '初始化线数
    mRectCount = 0   '初始化矩形数
    mSelectFlag = 0  '初始化图形选择
    With Toolbar1
        .Buttons(1).Enabled = False
        .Buttons(2).Enabled = False
        .Buttons(3).Enabled = False
        .Buttons(4).Enabled = False
        .Buttons(5).Enabled = False
        .Buttons(7).Enabled = True
        .Buttons(8).Enabled = True
        .Buttons(10).Enabled = False
        .Buttons(11).Enabled = False
    End With
    mDrawFlag = False
    gControlHwnd = UserControl.hwnd
    'GetWFID 1, 2
End Sub
Private Sub UserControl_Resize()
    RaiseEvent Resize
    On Error Resume Next
    With picCanvas
        .Width = UserControl.Width / 15
        .Height = UserControl.Height / 15 - 42
    End With
End Sub
Public Sub GetWFID(ByVal vData As Integer, ByVal vState As Integer)
    g_WFID = vData
    mOperState = vState
    If ConDB = False Then
        picCanvas.Enabled = False
    End If
    If vState = 1 Then '新
        With Toolbar1
            .Buttons(1).Enabled = True
            If g_WFType = 0 Then
                .Buttons(2).Enabled = False
            Else
                .Buttons(2).Enabled = True
            End If
            .Buttons(3).Enabled = False
            .Buttons(4).Enabled = True
            .Buttons(5).Enabled = True
            .Buttons(7).Enabled = False
            .Buttons(8).Enabled = False
            .Buttons(10).Enabled = True
            .Buttons(11).Enabled = True
        End With
    ElseIf vState = 2 Then '打开修改 添加节点、动作
        Call ReadData(picCanvas, pic, imgbk)
        With Toolbar1
            .Buttons(1).Enabled = True
            If g_WFType = 0 Then
                .Buttons(2).Enabled = False
            Else
                .Buttons(2).Enabled = True
            End If
            .Buttons(3).Enabled = False
            .Buttons(4).Enabled = True
            .Buttons(5).Enabled = True
            .Buttons(7).Enabled = False
            .Buttons(8).Enabled = False
            .Buttons(10).Enabled = True
            .Buttons(11).Enabled = True
        End With
        picCanvas_Paint
    ElseIf vState = 3 Then '打开修改 不添加节点、动作
        Call ReadData(picCanvas, pic, imgbk)
        With Toolbar1
            .Buttons(1).Enabled = False
            .Buttons(2).Enabled = False
            .Buttons(3).Enabled = False
            .Buttons(4).Enabled = False
            .Buttons(5).Enabled = False
            .Buttons(7).Enabled = False
            .Buttons(8).Enabled = False
            .Buttons(10).Enabled = False
            .Buttons(11).Enabled = False
        End With
        picCanvas_Paint
    Else
        picCanvas.Enabled = False
    End If
    
    If g_WFType = 0 Then
        sb.Panels(3).Text = "附件流程"
    ElseIf g_WFType = 1 Then
        sb.Panels(3).Text = "模板流程"
    ElseIf g_WFType = 2 Then
        sb.Panels(3).Text = "数据表单流程"
    Else
        sb.Panels(3).Text = "未知的流程"
    End If
End Sub
Public Function SaveWFData() As Boolean
    If SaveDB = False Then
        SaveWFData = False
        Exit Function
    End If
    With Toolbar1
        .Buttons(1).Enabled = False
        .Buttons(2).Enabled = False
        .Buttons(3).Enabled = False
        .Buttons(4).Enabled = False
        .Buttons(5).Enabled = False
        .Buttons(7).Enabled = True
        .Buttons(8).Enabled = True
        .Buttons(10).Enabled = False
        .Buttons(11).Enabled = False
    End With
    SaveWFData = True
End Function

'注意!不要删除或修改下列被注释的行!
'MemberInfo=13,0,0,""
Public Property Get ConnDBString() As String
    ConnDBString = g_ConnDBString
End Property

Public Property Let ConnDBString(ByVal New_ConnDBString As String)
    g_ConnDBString = New_ConnDBString
    PropertyChanged "ConnDBString"
End Property

'为用户控件初始化属性
Private Sub UserControl_InitProperties()
    g_ConnDBString = m_def_ConnDBString
End Sub

'从存贮器中加载属性值
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
    g_ConnDBString = PropBag.ReadProperty("ConnDBString", m_def_ConnDBString)
End Sub

'将属性值写到存储器
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
    Call PropBag.WriteProperty("ConnDBString", g_ConnDBString, m_def_ConnDBString)
End Sub

⌨️ 快捷键说明

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