📄 workflow.ctl
字号:
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 + -