HCD Displays and FrsModules_Theme Dynamos

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 Sub
    ErrorHandler:
       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:

    What version are you using?
  • In reply to Matt Stoner:

    I just edited my post to let you know I am on version 11.3.1.

    Thanks
  • In reply to kdculb:

    I think I see it...I have similar logic done differently
    Change the line:
    objDisplay.BackgroundColor = CLng(vOut1)
    to
    Me.BackgroundColor = CLng(vOut1)
  • In reply to Matt Stoner:

    Thanks, that did it.