掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TabContorolのTab毎に背景色を変えたい(FMX) (ID:151426)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
確認ですが、TPanel = TabControl の背景という認識で宜しいでしょうか? もしそうであるならば、TabControl のスタイルを追加して、その背景色をコードから変えるやり方です。 ・TabControlを右クリックでポップアップメニューを表示させ、「カスタムスタイルの編集」を選択 ・スタイルデザイナの編集画面に移行するので、 追加されている tabcontrol1style 直下の styleobject1 に、ツールパレットから TRectangle コンポーネントをドロップする tabcontrol1style +styleobject1 ← ここにドロップ +rectangle1style ← 追加された物 ・追加された rectangle1style の Align プロパティを Client にする ・スタイルデザイナの「適用して閉じる」ボタンを押す ・下記のサンプルコードを実行 uses ・・・ System.UIConsts, FMX.Styles.Objects, FMX.Objects; implementation procedure TForm1.TabControl1Change(Sender: TObject); var Back : TRectangle; begin // 操作するスタイルを取得 Back := TabControl1.FindStyleResource('rectangle1style') as TRectangle; if Assigned(Back) then begin // タブ番号? case TabControl1.TabIndex of 0 : Back.Fill.Color := claRed; 1 : Back.Fill.Color := claGreen; 2 : Back.Fill.Color := claBlue; end; end; end; procedure TForm1.TabControl1Paint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); begin // 最初の更新の為 TabControl1Change(TabControl1); end; TabControl の背景色を変えるので、TPanel は必要ありません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.