First, a quick definition: a property with "Color" in its name will accept any RGB color your screen can render, but that color will be solid and you have to provide a color. Most of the time, however, you will see "Brush" instead of color. Brushes can be a solid color, but they can also be a gradient and have an opacity setting, which determines how much of the underlying screen shows through.
Most components have at least one property that is a list of items the component uses. In many cases these are colors or brushes, but also include things like pointers in gauges, symbols in the symbol component, and texts in the text component. In most cases these show up as four properties, the first is the default color, brush, text, etc. if nothing is put into the list. This allows you to quickly set things up when you only need one item. The second property, often with the word "Multi" in the name, is a list of items used by the component. There are then two additional properties to allow for specifying a Preset for each.
The component specific lists like pointers and symbols are described in the section on the component that uses them. Two others, MultiColor and MultiBrush are used by almost every component so are described here. These two items are very similar except that Color refers just to flat color like red, white or green, while Brush allows for gradients, opacity (being able to see through the color), and even no color at all.
As an example, most components support a background and thus has the properties BackBrush and BackMultiBrush. You can see this in the Text component's properties:
If all we wanted was for the text component to have a green background we could just click on the button with three dots on the right side of the BackBrush component and edit the brush:
As long as you don't add anything to BackMultiBrush, this brush will be used. If, however, we wanted the component to have a green background when the channel AlarmActive is zero, and a red background when it was one, then we edit the BackMultiBrush by clicking on the button with three dots on the right side of that row:
Most item properties like BackMultiBrush will have two parts, the list of items, in this case Brushes, and an Expression which determines which item to use. In our example, since we want the color to be determined by the AlarmActive channel we would put AlarmActive[0] for the Expression:
Now we can click on the button with three dots next to Brushes to create out list of brushes. Initially this list will be empty:
To add a new brush we click on the yellow button at the top left above the list next to the red X and arrows. This will create a new item and an edit box for you to give the item a name. The name is required to allow you to access this item from script. In our case, we need two brushes, so we will click this yellow button twice and give them the names "Active" and "NotActive". Hit the Enter key when done entering each name:
Now you can click on either of the two items, Active or NotActive and edit the Threshold and the Brush. The Brush is pretty straightforward and would be replaced with, say, Color for a MultiColor property. Threshold is the highest value of the result of the Expression that this brush would be used. In our case, the Expression AlarmActive[0] is 0 when there are no alarms, and 1 when there are, so the threshold for NotActive would be 0 and for Active 1.
When you are done, click Close until you are back at the main component properties.
Of course you can have more than two items, for example showing increasing alarm levels from green, to yellow to orange to red.
In general, all the other item lists work similar to this. Some, like Pointers in gauges do not have an Expression or Threshold as all Pointers are always displayed, but most work just like this example.
In addition, components that have Multi properties will also have a property called MultiExpression. This expression is used whenever you have Multi properties with elements (colors, brushes, etc) but no Expression specified. This, for example, allows you to change both the background color and the text color based on a single expression without having to enter that expression twice.