|
Private Sub chkRun_Click()
If chkRun.Value <> 0 Then '如果是运行状态,设置流程图的相应属性,不允许设计
With flwMain
.EditMode = afEditNone
.CanDrawNode = False
.SelectMode = False
.CanMoveNode = False
.CanSizeNode = False
.DisplayHandles = False
.ShowPropertyPages = afShowNone
End With
Else '如果是设计状态,设置流程图的相应属性,允许拖动及设计
With flwMain
lstProgItem.SetFocus
.SnapToGrid = True
.CanSizeNode = True
.CanMoveNode = True
.SelectMode = True
.DisplayHandles = True
.ShowPropertyPages = afShowAll
.EditMode = afEditMouseClick
.ArrowDst = 3
End With
End If
End Sub
Private Sub lstProgItem_DblClick(Cancel As Integer)
Dim nodx As afNode
With flwMain
Set nodx = .Nodes.Add(60, 60, 1300, 450)
nodx.FillColor = 8421504 ' RGB(255, 255, 192)
nodx.Text = lstProgItem.Column(1, lstProgItem.ListIndex)
nodx.Tag = lstProgItem.Column(0, lstProgItem.ListIndex)
nodx.ToolTip = lstProgItem.Column(2, lstProgItem.ListIndex)
nodx.Sizeable = True
nodx.Shape = afRectangle ' afRectEdgeRaised
nodx.BackMode = afBackModeTransparent
nodx.DrawStyle = afTransparent
nodx.Shadow = afNoShadow
nodx.Transparent = True
Set nodx.Picture = LoadPicture(CurrentProject.Path & "\" & Right(nodx.Tag, 1) & ".ico")
End With
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'为了保证窗体能够截获到键盘事件,需要将窗体的键预览属性设置为真
If KeyCode = vbKeyDelete Then
flwMain.DeleteSel '按删除键时删除流程图中的对象
End If
End Sub
Private Sub flwMain_Click()
On Error GoTo TC_Err
If chkRun.Value <> 0 Then '只有在运行状态才可打开相应窗体
Dim node As afNode, s As String
Dim Func As String, mdl As String
Set node = flwMain.SelectedNode '获取当前选中的节点对象
If node Is Nothing Then Exit Sub
If Not IsNull(node.Tag) And node.Tag <> "" Then
mdl = node.Tag '获取窗体名称
DoCmd.OpenForm mdl '打开相应的窗体
Exit Sub
End If
End If
Exit Sub
TC_Err:
MsgBox Err.Description
Exit Sub
End Sub
|