Как изменить шрифт надписи в delphi xe5 Firemonkey

У меня есть процедура, предназначенная для подготовки формы с парой ярлыков и выпадающих списков. Но я не могу изменить цвет шрифта на этикетке. Кто-нибудь может помочь?

Я нашел ссылку, которая говорит, что они нашли ответ, но я не могу понять это. Как программно изменить свойства шрифта в элементах управления Firemonkey

Ниже приведен код модуля, пытающегося выполнить изменение.

unit procedures;

interface

Uses
  System.SysUtils, System.Types, System.UITypes, System.Classes,
  System.Variants, fmx.controls;

Procedure resetproductlists;

implementation

uses main_unit, datalive_unit, AddUniqueItemToComboBox;

Procedure resetproductlists;
begin
  With Datalive.products Do
  Begin
    Try
      active := False;
      params.clear;
      sql.text := 'select supplier,item,width,height from products';
      active := True;
      Main.Combobox1.clear;
      Main.Combobox2.clear;
      Main.Combobox3.clear;
      Main.Combobox4.clear;
      Main.Edit1.text := '';
      Main.Edit2.text := '';
      Main.SpinBox1.Value := 0;
      Main.label13.text := 'n/a';
      Main.label13.StyledSettings := Main.label13.StyledSettings -
        [TStyledSetting.ssFontColor];
      Main.label13.FontColor := TAlphaColors.Aqua;
      Main.label14.text := 'R 0.00';
      Main.label14.FontColor := clBlack;
      while not eof do
      Begin
        try
          addtocombo(Main.Combobox1, Fieldbyname('supplier').Asstring);
          addtocombo(Main.Combobox2, Fieldbyname('item').Asstring);
          addtocombo(Main.Combobox3, Fieldbyname('width').Asstring);
          addtocombo(Main.Combobox4, Fieldbyname('height').Asstring);
        finally
          next;
        end;
      End;
    Finally
      active := False;
    End;
  End;
end;

end.

addtocombo Процедура только вставляет текст в поле со списком (если он еще не найден в нем.).

Любая помощь будет отличной. Спасибо

1 ответ

Следующие две строки изменяют цвет шрифта надписи в XE5:

  Label13.StyledSettings := Label13.StyledSettings - [TStyledSetting.FontColor];
  Label13.TextSettings.FontColor := TAlphaColors.Aqua;

Но у вас уже есть этот код там. Так что вопрос в том, почему это не работает в вашем случае. Я бы сказал, что либо ваш код не выполняется, либо что-то меняет цвет обратно на черный. Попробуйте установить условную точку останова в TTextSettings.SetFontColor в FFontColor := Value; он срабатывает только при смене цвета на Аква. Это может дать вам подсказку.

Другие вопросы по тегам