Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2022年09月17日] [更新 2022年09月17日] Delphi 一般・その他
FireMonkey の Effects によるコントロールの背景
動作確認等 Windows 10 ビルド 19043 Pro 64 bit + Delphi XE5(UP2) Pro FMX-32
Windows 10 ビルド 19043 Pro 64 bit + Delphi 10.4 Community FMX-32
[整理番号 - 1140]







FireMonkey の Effects によるコントロールの背景


コンポーネントのカテゴリ (パレット) の [Effects] に、各種の画像効果用のコンポーネントがあります。これらの中には、コントロールの背景に利用できるコンポーネントがあります。その例です。

[Effects] のコンポーネント類はフォームには配置できません。コンポーネントをダブル句クリックすると、[フォームデザイナ] の [構造] ペインに配置されます。配置されたコンポーネントを Drag & Drop で、対象のコントロールの階層下に移動して使用します。
[フォームデザイナ] の [構造] ペインは、IDE 環境で、フォームが表示されている状態の時の [構造] ペインのことです。






01_TInnerGrowEffects コンポーネントを使用した背景効果


TInnerGrowEffects コンポーネントを使用する例です。ここでは TButton と TMemo だけですが、下図のようになります。




図1
TInnerGrowEffects を使用した例
  • 領域周辺がグラデーションになる
  • Button1 は TInnerGrowEffects 未使用

TInnerGrowEffects コンポーネントを追加した状態の [構造] ペインです。



図2
設計時の [構造] ペイン

下図は、TInnerGrowEffects コンポーネントのオブジェクトインスペクタです。今回は GlowColor プロパティの値だけを設定してテストしています。



図3
TInnerGrowEffects のオブジェクトインスペクタ




02_TShadowEffects コンポーネントを使用して影付きボタン


TShadowEffects コンポーネントを使用する例です。ここでは TButton だけを影付きにしています。



図4
TShadowEffects を使用した例
  • 影付きになる
  • プロパティ Opacity の値を変えている
  • Button1 は TShadowEffects を未使用

TShadowEffects コンポーネントを追加した状態の [構造] ペインです。



図5
設計時の [構造] ペイン




03_実行時に効果のプロパティを変更


最初のサンフルで、実行時に Effects 関係のプロパティを変更する例です。




図6
EXE 実行開始時

図7
[Button1] をクリック

リスト1
//=============================================================================
//  実行時に色を変更
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
begin
  if InnerGlowEffect1.GlowColor = TAlphaColorRec.Lime then begin
    InnerGlowEffect1.GlowColor := TAlphaColorRec.blue;
    InnerGlowEffect2.GlowColor := TAlphaColorRec.blue;
  end else begin
    InnerGlowEffect1.GlowColor := TAlphaColorRec.Green;
    InnerGlowEffect2.GlowColor := TAlphaColorRec.Green;
  end;
end;