Hi,
The property for the text colours is "TextColours" and the value format is "tl:aarrggbb tr:aarrggbb bl:aarrggbb br:aarrggbb" so for example, for green...
Code: Select all
<Property Name="TextColours" Value="tl:FF00FF00 tr:FF00FF00 bl:FF00FF00 br:FF00FF00" />
To have a parent window transparent or semi-transparent but not affect the child windows, simply set the "InheritsAlpha" property on the child windows to false - this allows you to set the alpha of the parent and children independently.
Depending if you're using the old or newer style listbox the above may have no effect, since the old style listbox did not use child windows for the content. In this case you need to adjust the LookNFeel for the Listbox so that the imagery is rendered with an appropriate alpha value (which will not affect the alpha of the items).
One way you could approach this is, within the WidgetLook definition for the old style Listbox, to define a property to control the frame colours
Code: Select all
<PropertyDefinition name="ListFrameColour" initialValue="FFFFFFFF" redrawOnWrite="true" />
and then apply this property to the rendering of the frame ImagerySection (example is modified from WindowsLook/Listbox):
Code: Select all
<ImagerySection name="main">
<FrameComponent>
<Area>
<Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim>
<Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim>
<Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim>
<Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim>
</Area>
<Image type="TopLeftCorner" imageset="WindowsLook" image="StaticFrameTopLeft" />
<Image type="TopRightCorner" imageset="WindowsLook" image="StaticFrameTopRight" />
<Image type="BottomLeftCorner" imageset="WindowsLook" image="StaticFrameBottomLeft" />
<Image type="BottomRightCorner" imageset="WindowsLook" image="StaticFrameBottomRight" />
<Image type="LeftEdge" imageset="WindowsLook" image="StaticFrameLeft" />
<Image type="RightEdge" imageset="WindowsLook" image="StaticFrameRight" />
<Image type="TopEdge" imageset="WindowsLook" image="StaticFrameTop" />
<Image type="BottomEdge" imageset="WindowsLook" image="StaticFrameBottom" />
<Image type="Background" imageset="WindowsLook" image="Background" />
<!-- Set a property to control the colours applied to this imagery section only -->
<ColourProperty name="ListFrameColour>
</FrameComponent>
</ImagerySection>
Then by setting the newly defined property you can affect just the frame alpha and/or colours, but not the children (or items for the old style lists).
Probably the best approach is the InheritsAlpha solution, since it was designed for this purpose - though the LookNFeel based solution saves you from setting the InheritsAlpha property on every child, and could afford some more advanced possibilities too
HTH
CE