Styling though pain and sorrow


I've tried upgrading to VCL UI Pack, but, after the OfficePager issue, I am facing styling issues, again.

I'm starting to feel [desperate|overwhelmed|depressed] about managing the styles...

We have an old software with a visual that dates back circa 2010. Our users are accustomed to that look.

Sadly, the look does not follow any predefined Office style, it has a lot of custom colours.

For exemple, our pagers have the Office2007Luna style, our grids have the "Look" XP, our DockPanel have customs light blue colours.

In this version (10.2) our grids had they style force changed to Office2003Blue scheme and disregarded the "XP" look they had. Resetting the "XP" look makes it return to the correct colour scheme, but when closing and reopening the unit, some colours (like ActiveCellColorTo) are changed back to some other value.

The use of App/FormStyler makes it even more confusing to manage.

Everytime there is a TMS update our application styling gets messed up and we need to fix it. 

My question is:

How can we setup ourself so to make our software more resilient to a TMS Upgrade while also minimizing the changes required and keeping a similar visual?

We do everything we can to make all new features fully backwards compatible.

When you used the XP look, the grid should keep the XP look. However, the amount of possible combinations is meanwhile staggering, so maybe we overlooked at particular case. In order to identify this, could you send your DFM file and a screenshot of how the component is supposed to look so we can investigate?
Create project with a unit containing the DFM at the end of this post.

Run with, the fixed cell with be grey with and the selected cell blue.

Install, open, save, close and reopen the unit, the fixed cell with be blue with and the selected cell organge. (The DFM will automatically gain UIStyle = tsOffice2003Blue)

Try to fix it by changing Look to Standard and then back to Windows XP. Save, close and reopen the unit and will be blue and orange again.

object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 300
  ClientWidth = 635
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object grille: TAdvStringGrid
    Left = 0
    Top = 30
    Width = 769
    Height = 221
    Cursor = crDefault
    Align = alClient
    DrawingStyle = gdsClassic
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clWindowText
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = []
    ParentFont = False
    ScrollBars = ssBoth
    TabOrder = 0
    HoverRowCells = [hcNormal, hcSelected]
    ActiveCellFont.Charset = DEFAULT_CHARSET
    ActiveCellFont.Color = clWindowText
    ActiveCellFont.Height = -11
    ActiveCellFont.Name = 'Tahoma'
    ActiveCellFont.Style = [fsBold]
    ControlLook.FixedGradientHoverFrom = clGray
    ControlLook.FixedGradientHoverTo = clWhite
    ControlLook.FixedGradientDownFrom = clGray
    ControlLook.FixedGradientDownTo = clSilver
    ControlLook.DropDownHeader.Font.Charset = DEFAULT_CHARSET
    ControlLook.DropDownHeader.Font.Color = clWindowText
    ControlLook.DropDownHeader.Font.Height = -11
    ControlLook.DropDownHeader.Font.Name = 'Tahoma'
    ControlLook.DropDownHeader.Font.Style = []
    ControlLook.DropDownHeader.Visible = True
    ControlLook.DropDownHeader.Buttons = <>
    ControlLook.DropDownFooter.Font.Charset = DEFAULT_CHARSET
    ControlLook.DropDownFooter.Font.Color = clWindowText
    ControlLook.DropDownFooter.Font.Height = -11
    ControlLook.DropDownFooter.Font.Name = 'Tahoma'
    ControlLook.DropDownFooter.Font.Style = []
    ControlLook.DropDownFooter.Visible = True
    ControlLook.DropDownFooter.Buttons = <>
    Filter = <>
    FilterDropDown.Font.Charset = DEFAULT_CHARSET
    FilterDropDown.Font.Color = clWindowText
    FilterDropDown.Font.Height = -11
    FilterDropDown.Font.Name = 'Tahoma'
    FilterDropDown.Font.Style = []
    FilterDropDown.TextChecked = 'Checked'
    FilterDropDown.TextUnChecked = 'Unchecked'
    FilterDropDownClear = '(All)'
    FilterEdit.TypeNames.Strings = (
      'Starts with'
      'Ends with'
      'Not contains'
      'Not equal'
      'Larger than'
      'Smaller than'
    FixedRowHeight = 22
    FixedFont.Charset = DEFAULT_CHARSET
    FixedFont.Color = clWindowText
    FixedFont.Height = -11
    FixedFont.Name = 'Tahoma'
    FixedFont.Style = [fsBold]
    FloatFormat = '%.2f'
    HoverButtons.Buttons = <>
    HoverButtons.Position = hbLeftFromColumnLeft
    HTMLSettings.ImageFolder = 'images'
    HTMLSettings.ImageBaseName = 'img'
    PrintSettings.DateFormat = 'dd/mm/yyyy'
    PrintSettings.Font.Charset = DEFAULT_CHARSET
    PrintSettings.Font.Color = clWindowText
    PrintSettings.Font.Height = -11
    PrintSettings.Font.Name = 'Tahoma'
    PrintSettings.Font.Style = []
    PrintSettings.FixedFont.Charset = DEFAULT_CHARSET
    PrintSettings.FixedFont.Color = clWindowText
    PrintSettings.FixedFont.Height = -11
    PrintSettings.FixedFont.Name = 'Tahoma'
    PrintSettings.FixedFont.Style = []
    PrintSettings.HeaderFont.Charset = DEFAULT_CHARSET
    PrintSettings.HeaderFont.Color = clWindowText
    PrintSettings.HeaderFont.Height = -11
    PrintSettings.HeaderFont.Name = 'Tahoma'
    PrintSettings.HeaderFont.Style = []
    PrintSettings.FooterFont.Charset = DEFAULT_CHARSET
    PrintSettings.FooterFont.Color = clWindowText
    PrintSettings.FooterFont.Height = -11
    PrintSettings.FooterFont.Name = 'Tahoma'
    PrintSettings.FooterFont.Style = []
    PrintSettings.PageNumSep = '/'
    SearchFooter.FindNextCaption = 'Find &next'
    SearchFooter.FindPrevCaption = 'Find &previous'
    SearchFooter.Font.Charset = DEFAULT_CHARSET
    SearchFooter.Font.Color = clWindowText
    SearchFooter.Font.Height = -11
    SearchFooter.Font.Name = 'Tahoma'
    SearchFooter.Font.Style = []
    SearchFooter.HighLightCaption = 'Highlight'
    SearchFooter.HintClose = 'Close'
    SearchFooter.HintFindNext = 'Find next occurrence'
    SearchFooter.HintFindPrev = 'Find previous occurrence'
    SearchFooter.HintHighlight = 'Highlight occurrences'
    SearchFooter.MatchCaseCaption = 'Match case'
    SearchFooter.ResultFormat = '(%d of %d)'
    SortSettings.DefaultFormat = ssAutomatic
    Version = ''

We applied a fix. We'll release an update. It will show in the orignal xp style with this fix applied.

Just for my information.

What kind of styling testing are you currently using?

We could try to aim to replicate the setting of those tests in our new forms.

Hello, I tried and it does not seem to be fixed.

  • Copy the unit example in my previous post on this thread.
  • In design time, click of "Set look" and reselect "Windows xp".
  • Save the change.
  • Close and open the unit.
  • The fixed row colour will now be blue and the active cell orange.


I have retested this but I cannot see this problem anymore.
Are you sure you did a full uninstall of the previous version and a clean install of the new version?

I redid a uninstall/install with VCL Ui Pack

I still have the same problem.

Here's a gif:

I cannot reproduce this. 
Can you please verify there are no more old version TMS VCL UI Pack .BPL files on your system?

Indeed, there is no TMS related .BPL files on my system.

I'm using 10.1 Berlin Update 2 on a Win7 machine. Could my problem be environnement specific?

Also, the grid does get automatically the Office2003Blue theme at runtime, ignoring the Look=XP property.

In connection with another problem report from another customer who did send a test project that helped us to trace & solve this issue, we have applied a fix. We expect to release an update this week.