3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Delphi] FMX.Colors.TGradientEdit の紹介

Last updated at Posted at 2025-12-24

FMX.Colors

FMX.Colors ユニットは、FireMonkey の色関連のクラスやメソッドが登録されているユニットです。

FMX.Colors ユニットの有用な機能を紹介していくシリーズです!

TGradientEdit

TGradientEdit はグラデーションブラシ用の Gradation を作ってくれるコントロールです。

FC10.gif

↑これは、作成された Gradient を TRectangle の Fill.Gradient に設定しています。

使い方

コントロールは Colors カテゴリーに登録されているので、ドロップして普通のコントロールと同じように使えます。

image.png

TGradientEdit はクリックすると「点(TGradient.Point)」が増えます(プログラムで増やすこともできます)。
その Point に IntColor というプロパティがあるので、そこに TAlphaColor を指定すると Gradation を作ってくれます。

できあがったグラデーションを使いたいコントロールの Fill.Gradation に代入します。

Rectangle の Fill と連携する例
procedure TForm1.GradientEdit1Change(Sender: TObject);
begin
  var Index := GradientEdit1.CurrentPoint;
  if Index < 0 then
    Exit;

  var P := GradientEdit1.Gradient.Points[Index];

  // 始点を赤に
  if Index = 0 then
    P.IntColor := TAlphaColors.Red;

  // 2個目の点をオレンジに
  if Index = 1 then
    P.IntColor := TAlphaColors.Orange;

  // Rectangle の Fill に代入
  Rectangle1.Fill.Kind := TBrushKind.Gradient;
  Rectangle1.Fill.Gradient := GradientEdit1.Gradient;
end;

ちなみに、ドラッグしている点を下方向に引っ張ると、その点を消去できます。

プロパティ・イベント

ColorPicker プロパティ

ColorPicker プロパティを使って、TColorPicker と紐付ける事ができます。
点の色や現在の…が変わると、TColorPicker.Color に IntColor の値を代入してくれます。
TColorPicker 側から TGradientEdit の点の色を操ったりはできません。
正直何に使うのか判りません。

CurrentPoint プロパティ

CurrentPoint プロパティは、現在ユーザーが操作している Point のインデックスを示します。

Gradient プロパティ

Gradient プロパティが、TGradientEdit の肝となるプロパティです。
点の情報や点の色などは全てこのプロパティで示される TGradient に格納されています。

OnChange イベント

OnChange イベントは点が増減したりドラッグによって点の位置が変わったときに呼び出されます。

OnSelectPoint イベント

OnSelectPoint イベントは点の選択状態(=ユーザーが操作している点)が変わった時に呼ばれます。

おわりに

視覚的に Gradation ブラシを作りたいときに便利ですね。
実際、オブジェクト・インスペクタから呼び出せるブラシデザイナではこれが使われています。

image.png

image.png




コミュニティ紹介

Delphi のコミュニティを紹介します。

Delphi Discord Server(最も活発)

Delphi に関する質問・最新情報・雑談など、とにかく情報が早いコミュニティです。
お気軽に参加できます。

Delphi Discord Server 紹介ページ
※こちらは招待リンクそのものではありません。招待リンクは遷移先ページにあります。

その他のコミュニティ

Qiita のこちらの記事に、日本語圏で参加しやすいコミュニティをまとめています。

Delphi Community Edtion - 参考になるコミュニティ

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?