掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGridでのStyleBookの文字色の反映 (ID:149282)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
TStringGridで、FormにStylebookを適用した場合の文字色で教えてください。 FormにStylebookを配置し”Dark"を適用しています。 個別にComponentに背景色や文字色など設定しなくても統一したLook&Feelを実現できるのだ思います。 実際、TEditやTSpinBox, TScrollBarなどうまくいっています。(黒っぽい背景で文字が白) ただ、TStringGridだけは、背景色は統一されていますが、文字色に関して、カラムヘッダー部の文字色は他のコンポーネントと統一された白色となっていますが、セル内容の文字の色が黒となっていて、他のコンポーネントと統一が取れていません。 TStringGridのプロパティのTextSettingsのFontColorで白を設定しても、StyleBookが優先されるのか文字色は黒のまま変わりません。 そこで、"onDrawColumnCell"のところで、value:TValueを一旦ローカル変数に退避させ、 セルをクリアしてから退避内容を文字色白で書き戻す事を試しましたが、うまく行きません。 procedure TForm2.StringGrid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF; const Row: Integer; const Value: TValue; const State: TGridDrawStates); var str : String; begin str := Value.AsString; // 内容の退避 Canvas.Clear( Canvas.Stroke.Color ); // セルのクリア Canvas.Fill.Color := TAlphaColors.White; // 文字色白 Canvas.FillText( Bounds, str, False, 1, [], TTextAlign.Leading, TTextAlign.Center ); // 再描画 end; としましたが、クリアされたままで、内容が戻っていません。("再描画"のところで変数strに退避した内容は残っています) "セルのクリア"の行をコメントアウトすると、内容は白字で再描画されますが、元の黒字の内容が残っているので微妙に二重になっています。 StringGridのセル内容を他のコンポーネントのStyleBook設定と同じにする事は出来ないのでしょか? StyleBookの使用法?や"onDrawColumnCell"の使い方が違う様にも思います。 アドバイス頂けると幸いです。 当方、 Windows10+DELPHI XE6 with FMX
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.