掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGrid内の文字の一部に色をつけるには? (ID:41298)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
単純に・・・ 例えば以下のように文字列を返すようにメソッドを用意する Cell[ACol,ARow] → '1,2,3,4,5' ならば _GetRedMoji(ACol,ARow) → ' 2 4 ' _GetBlackMoji(ACol,ARow) → '1, ,3, ,5' Cell[ACol,ARow] → '1,5,2,8,1'ならば _GetRedMoji(ACol,ARow) → ' 5 2 ' _GetBlackMoji(ACol,ARow) → '1, , ,8,1' //-----------------------------------------// with StringGrid1 do begin Canvas.FillRect(Rect); StrTxt := _GetRedMoji(ACol,ARow);//赤文字で描画する文字列取得 Canvas.Font.Color := clRed; DrawText(Canvas.Handle,PChar(StrTxt), Length(StrTxt),Rect,DT_LEFT or DT_VCENTER); StrTxt := _GetBlackMoji(ACol,ARow);//赤文字以外で描画する文字列取得 Canvas.Font.Color := clBlack; DrawText(Canvas.Handle,PChar(StrTxt), Length(StrTxt),Rect,DT_LEFT or DT_VCENTER); end; //----------------------------------------// 最も上記の例では等幅Fontを使用しないと多分上手く描画できないかも。 等幅フォントで無い場合は更に工夫が必要でしょう。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.