发布于 2014-05-05 10:04:12
8楼
以下是VBA组态代码
Sub Test()
Dim objButton As HMIButton
Dim objCs cript As HMIs criptInfo
Dim objDynDialog As HMIDynamicDialog
Dim sCode As String
Dim iIndex As Integer
'假设有100个按钮,名称为Button1、Button2、...、Button99、Button100
For iIndex = 1 To 100
'定义按钮对象
Set objButton = ThisDocument.HMIObjects("Button" & Format(iIndex, "#0"))
'鼠标按下动作
Set objCs cript = objButton.Events(2).Actions.AddAction(hmiActionCreationTypeCs cript)
objCs cript.SourceCode = " SetTagBit(" & Chr(34) & "PU0101_cc-on" & Chr(34) & ",1);"
'鼠标释放动作
Set objCs cript = objButton.Events(3).Actions.AddAction(hmiActionCreationTypeCs cript)
objCs cript.SourceCode = " SetTagBit(" & Chr(34) & "PU0101_cc-on" & Chr(34) & ",0);"
'按钮背景颜色
sCode = "'PU0101_yx'"
Set objDynDialog = objButton.BackColor.CreateDynamic(hmiDynamicCreationTypeDynamicDialog, sCode)
With objDynDialog
.ResultType = hmiResultTypeBool
.BinaryResultInfo.PositiveValue = RGB(128, 128, 128) 'Yes - 灰色
.BinaryResultInfo.NegativeValue = RGB(212, 208, 200) 'No - 按钮原来颜色
.Trigger.VariableTriggers(1).CycleType = hmiVariableCycleTypeOnChange
End With
Next iIndex
End Sub
无论成与败,无论甜与苦,我还是我。