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;