掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FMXのTStringGridでセル毎に文字色を変える (ID:149745)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
igyさん、ありがとうございます。 onDrawColumnCellイベントですね。 試してみました。 一応、色分けは出来ました。然しながら、問題も残っています。 "onDrawColumnCell"はセルへ文字を入力した際に同時に発生するイベントだと思いますが、文字が二重に描画されます。 TextSettings.FontColorの文字色とCanvas.Fill.Colorの文字色で文字列は当然同じです。 これはCanvas.Fill.Colorの方の表示のみには出来ないのでしょうか? Value.AsStringにそのセルの文字内容が格納されていて、その文字をFill.Color色で描画しているので、元々入力されている文字列二重描画になってしまうと思います。 セル内容のClearさせる方法が分からなかったので、Value.AsStringの内容を一旦退避させて、’ ’(スペース文字列)を入力してから、退避した内容を入力し直すとしてみましたが、二重表示は解消されませんでした。 begin aOpt := 1.0; str := value.AsString; tmp := StrToFloat( str ); if ( tmp < -0.2 ) then Canvas.Fill.Color := TAlphaColors.Blue else if ( -0.2 <= tmp ) and ( tmp <= 0.2 ) then Canvas.Fill.Color := TAlphaColors.Lightyellow else if ( 0.2 < tmp ) then Canvas.Fill.Color := TAlphaColors.Red; Canvas.FillText( Bounds, ' ', False, aOpt, [], TTextAlign.Leading, TTextAlign.Center ); Canvas.FillText( Bounds, str, False, aOpt, [], TTextAlign.Leading, TTextAlign.Center ); end; 二重表示の解消方法をご教授頂けるでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.