FMX.TextLayout.TTextAttribute
Delphi
TTextAttribute = record
public
Font: TFont;
Color: TAlphaColor;
constructor Create(const AFont: TFont;
AColor : TAlphaColor); overload;
constructor Create(const AExisting: TTextAttribute;
const ANewFont: TFont); overload;
constructor Create(const AExisting: TTextAttribute;
ANewColor: TAlphaColor); overload;
end;
C++
struct DECLSPEC_DRECORD TTextAttribute
{
public:
Fmx::Graphics::TFont* Font;
System::Uitypes::TAlphaColor Color;
__fastcall TTextAttribute(Fmx::Graphics::TFont* const AFont, System::Uitypes::TAlphaColor AColor)/* overload */;
__fastcall TTextAttribute(const TTextAttribute &AExisting, Fmx::Graphics::TFont* const ANewFont)/* overload */;
__fastcall TTextAttribute(const TTextAttribute &AExisting, System::Uitypes::TAlphaColor ANewColor)/* overload */;
TTextAttribute() {}
};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
record struct |
public | FMX.TextLayout.pas FMX.TextLayout.hpp |
FMX.TextLayout | FMX.TextLayout |
説明
テキスト属性を保持します。
Font
は、テキストのフォントを保持します。Color
は、テキストの色を保持します。
TTextAttribute は、次の 3 つの方法で作成できます:
- 既存のフォントと色から作成
- 既存の TTextAttribute から作成(色は新規)
- 既存の TTextAttribute から作成(フォントは新規)
メモ: RAD Studio 10.2 Tokyo Release 3 より、TTextLayout クラスが、第 1 コンストラクタで TFont インスタンスを解放しません。このため、代わりにプログラムが TFont インスタンスを削除しなければなりません。
- 非 ARC プラットフォームの場合(Windows と macOS を含む)、
TTextAttribute.Create
の最初のパラメータを使用するフォント インスタンスが使用されなくなったら、Free
メソッドを手動で呼び出さなければなりません。 - ARC プラットフォームの場合、インスタンスが使用されなくなった際に、ARC がそれを削除します。
以下の例を参照してください:
Layout := TTextLayoutManager.TextLayoutByCanvas(self.Canvas.ClassType).Create; try BoldFont := TFont.Create; try ATTR1 := TTextAttribute.Create(BoldFont,TAlphaColorRec.Blue); ATTR2 := TTextAttribute.Create(ATTR1,TAlphaColorRec.Red); Layout.AddAttribute(TTextRange.Create(0,5), ATTR1); Layout.AddAttribute(TTextRange.Create(12,5), ATTR2); finally BoldFont.Free; // for ARC platform, Free method does nothing. This code keeps single source for all platforms. end; finally FreeAndNIL(Layout); end;