タブシート上に配置したフォームの背景色

解決


EUserNotFound  2021-10-16 08:29:15  No: 149880  IP: 192.*.*.*

タブシートにフォームをドッキングした、またはフォームのParentをタブシートにしたとき
フォームの背景色をタブシートの背景色にするにはどうすればよいでしょうか。
フォームのColorが適用されて、タブシート上で表示の統一感がとれません。
間にパネルを挟んでみたりして試していますがうまくいっていません。
あるいはタブシートの背景色を取得する方法はあるでしょうか。

編集 削除
HFUKUSHI  2021-10-17 03:14:40  No: 149881  IP: 192.*.*.*

以下のどちらかでどうでしょうか(OnShowイベントあたりで)

1.フォームのTransparentColorをTrueにする
TransparentColor := True;
TransparentColorValue := Color;

2.スタイル/テーマが有効な場合はフォームのColorをclBtnHighlightにする
if StyleServices.Enabled then
begin
  Color := clBtnHighlight;
end;

編集 削除
EUserNotFound  2021-10-18 13:24:34  No: 149886  IP: 192.*.*.*

HFUKUSHIさん、ありがとうございます。
1の方法だとマウスイベントが捕まえられなくなったので、2の方法で対処することにしました。
正直テーマというものがよく分かってないので、そのまま使わせていただきます。

というかテーマをいじると全体の挙動が怪しい・・・できるなら設定に触りたくない部分です・・・

編集 削除