Перейти к содержанию
Fire Monkey от А до Я
  • 0

TTextSettings неразвёртвовается


Janex72

Вопрос

Ешё проблемы с TTextSettings;

Делаю свои компонент, хочу в него добавить TTextSettings. Смотрел всякие примеры, но у меня почему то он

в Oбject Inspector-е  неразвёртвовается, тоесть, клиекая на +/- стоит в однои строке.

Код примерно такои:
 

 TxdfLabel = Class(TControl)
  Private
    FTextSettings :TTextSettings;
    Procedure SetTextSettings(const Value: TTextSettings);
  Public
    Constructor Create(AOwner: TComponent); Override;
  Published
    Property TextSettings :TTextSettings Read FTextSettings Write SetTextSettings;
  End;

Constructor TxdfLabel.Create(AOwner: TComponent);
begin
  Inherited Create(AOwner);
  FTextSettings  := TTextSettings.Create(Nil);
End;

procedure TxdfLabel.SetTextSettings(const Value: TTextSettings);
begin
  FTextSettings.Assign(Value);
End;

Немогу понять где грабли ...

WBR

Janex

 

Изменено пользователем Janex72
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
4 часа назад, Равиль Зарипов (ZuBy) сказал:

Спасибо, но тут он сылается на ТEdit у которого есть своиство TTextSettings :

 
function TZMaterialEdit.GetTextSettings: TTextSettings;
begin
Result := FEdit.TextSettings;
end; 

Но у меня свои пустои компонент которыи НЕ наслседовает другои компонент с своиством TTextSettings, и внутри тоже никого с готовым своиством TTextSettings :(

Хотел прикрутить его для моих нужд... обект TTextSettings создаётся и доступен, вот только в дизаинтаиме он

в Oбject Inspector-е  почему то неразвёртвовается

Изменено пользователем Janex72
Ссылка на комментарий
  • 0

Примерно так:

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics;

type
  TMyLabel = class(TControl)
  private
    FFontTextSettingInfo: TTextSettingsInfo;
    function GetTextSettings: TTextSettings;
    procedure SetTextSettings(const Value: TTextSettings);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property LabelFont: TTextSettings read GetTextSettings write SetTextSettings;
  end;


implementation

type
  TMyTextSettings = class (TTextSettingsInfo.TCustomTextSettings)
  public
    constructor Create(const AOwner: TPersistent); override;
  published
    property Font;
    property FontColor;
    property HorzAlign;
    property VertAlign;
//    можно убрать ненужные свойства
//    property WordWrap default True;
//    property Trimming default TTextTrimming.Character;
  end;

constructor TMyTextSettings.Create(const AOwner: TPersistent);
begin
  inherited;
  WordWrap := False;
  Trimming := TTextTrimming.Character;
end;

constructor TMyLabel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FFontTextSettingInfo := TTextSettingsInfo.Create(Self,TMyTextSettings);
//  FFontTextSettingInfo.TextSettings.FontColor := TAlphaColors.Black;
//  FFontTextSettingInfo.TextSettings.OnChanged := FontChanged;
end;

destructor TMyLabel.Destroy;
begin
  FFontTextSettingInfo.Free;
  inherited Destroy;
end;

function TMyLabel.GetTextSettings: TTextSettings;
begin
  Result := FFontTextSettingInfo.TextSettings;
end;

procedure TMyLabel.SetTextSettings(const Value: TTextSettings);
begin
  FFontTextSettingInfo.TextSettings.Assign(Value);
end;

end.

 

Ссылка на комментарий
  • 0
  • Модераторы
15 часов назад, Janex72 сказал:

Спасибо, но тут он сылается на ТEdit у которого есть своиство TTextSettings :

 

lclass.png

Ссылка на комментарий
  • 0

Для придания завершенности Вашему контролу надо бы еще реализовать интерфейс ITextSettings чтобы можно было использовать его как в примере:

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...