We are considering switching to HCD displays and I am working on a prototype and I have few questions:
1. How do I get the Background Color of my displays to change automatically when switching between the different Themes (Silver, Light Blue, Dark Blue and Tan)?
2. There are 6 DisplayLink dynamos in the FrsModules_Theme, but they are fixed in color so would not change with the Theme and would kind of look funny if a different theme was selected from what the graphic was build with, am I missing something here?
3. I do not see a dynamo for a DI module in the FrsModules_Theme. Is there one or should I just build my own?
Thanks,
Kevin
Kevin,
2. Those are designed to use with the appropriate theme used and not to automatically update based on the theme. You could develop your own just by taking one and adding animations and linked to the color table.
3. No there is not one and you would need to build your own.
1. Add the below logic in Red and I think this will work for you. Add it to the CFixPicture Initialize event as shown.
Private Sub CFixPicture_Initialize()On Error GoTo ErrorHandler frszinitPicture Me
Dim objFRSVariables As Object Dim objColorTable As Object Dim lCount As Long Dim vIn1 As Variant Dim vOut1 As Variant Dim vIn2 As Variant Dim vOut2 As Variant
Set objFRSVariables = Nothing Set objFRSVariables = System.FindObject("frsVariables")
If Not objFRSVariables Is Nothing Then 'find the color table from the project Set objColorTable = Nothing Set objColorTable = objFRSVariables.FindObject("Theme_Colors") Else Msgbox "Error: frsVariables does not exist", vbCritical + vbOKOnly, "Operator Interface Error" Exit Sub End If
lCount = 1 Do While lCount <= objColorTable.Count objColorTable.GetLevel lCount, vIn1, vOut1, vIn2, vOut2 If vIn1 = frsVariables.gs_pictback.CurrentValue Then objDisplay.BackgroundColor = CLng(vOut1) Exit Do End If lCount = lCount + 1 Loop
Set objFRSVariables = Nothing Set objColorTable = Nothing
Exit SubErrorHandler: frsHandleError
End Sub
In reply to Matt Stoner:
Matt, Thanks for the reply. I copy and pasted your script in, but I get a compile error. I think it is the following line causing the problem: objColorTable.GetLevel lCount, vIn1, vOut1, vIn2, vOut2 The reason I think this is that if I type the line in with "getlevel" it does not get converted to "GetLevel" like it normally would if it was valid. Any additional help would be appreciated. I am on version 11.3.1 if it matters. Thanks, Kevin
In reply to kdculb: