TAdvTreeView in VCL UI PCK and HTML-Color

We use TAdvTreeView with HTML-Text in the Nodes. Since the change to VCL UI Pack the Color in the HTML is ignored.

... In Addition the painting of the Group-Headers is broken. The topfill.kind=gfkSolid is not working and gfkGradient shows a Gradient (but only in the first Group) with all Colors (Color, ColorTo, ColorMirror, ColorMirrorTo) equal?

  1. I cannot see a problem. I tested a sample TAdvTreeView with node text
    <font color="#ff0000">Audi</font> and it does show the text in red

    2) I cannot see an issue with gradients in group headers. 
    I added a group, set UseDefaultAppearance = false and set TopFill.Color/TopFill.ColorTo to colors and set TopFill.Kind = gfkGradient and see a gradient in the header.

Hello Bruno,


1) tested again and it is maybe an regression from ComponentPack to UIPack. In my code i use a helper to convert the Color of the Text to an HTML-Text

function Html_FontSize (const AText : string; ASize, AColor : Integer) : string; overload;
begin
 result:='<font size="'+ASize.toString+'" color="#'+AColor.ToHexString+'">'+AText+'</font>';
end;

This work's for me in ComponentPack, but doesn't in VCL UIPack.

2) gfkGradient is working, gfkSolid is not working as aspected?

Bruno Fierens2019-08-20 15:04:48

When you change in the default TAdvTreeView the node caption to 

<font color="#ff0000">Audi</font> 
it DOES show in red.

So, if you see a problem, please provide EXACT steps & DETAILS to be able to reproduce.

 ">
Bruno Fierens2019-08-20 15:08:01


Group.Kind = gfkSolid ---> Have you try it in a running Application?

The Color in HTML works, but before VCL UI Pack it works with f.e. AColor.toHexString and AColor=clRed.

There is indeed an issue that slipped in wrt default values for fill.kind

We will investigate to fix this. 
As temporary workaround, add in code:
  advtreeview1.Groups[0].TopFill.Kind := gfkSolid;

Thank's Bruno!