TListViewをvsReportにして項目を描画しています。
サブアイテムをいくつか追加し、Excelの様な表示にしています。
カラム1が0のものを赤文字にしたいと思い以下のように書きました。
OnCustomDrawSubItemハンドラに
case SubItem of
1 :begin
if ListView1.SubItems[0] = '0' then
ListView1.Canvas.font.Color := clRed;
else
ListView1.Canvas.font.Color := clWindowText;
end;
上記を実行するとカラム1が0のものはカラム1から最後のカラムまでが赤文字になってしまいます。
ただ、elseを
ListView1.Canvas.font.Color := clBlack;
とすると、カラム1のみが赤文字になり残りは黒文字になります。
ここで質問なのですが、clWindowTextとはWindowsで設定した文字色の定数ではないのでしょうか?
なぜ黒で描画されないのか不思議です。
原因がお分かりになる方は教えてください。
太田剛文
MLホームページ: http://www.freeml.com/delphi-users
----------------------------------------------------------------------
練習や試合の予定調整は「とっとと決め太郎」におまかせ!
http://ad.freeml.com/cgi-bin/sa.cgi?id=h8RAK
-----------------------------------------------------[freeml by GMO]--
でも ListView1CustomDrawSubItem に飛んでくるとき Canvas.Font.Color は毎回
clWindowText
Canvas.Font.Color に clWindowText を設定しても同じなので ListViewには 反映さ
れない
で前回設定した clRed で描画される
ListView1.Canvas.font.Color := clWindowText;
の前に他の色を設定すれば clWindowText になる
たぶん こんなところ
こんにちは太田です。
TListViewをvsReportにして項目を描画しています。
サブアイテムをいくつか追加し、Excelの様な表示にしています。
カラム1が0のものを赤文字にしたいと思い以下のように書きました。
OnCustomDrawSubItemハンドラに
上記を実行するとカラム1が0のものはカラム1から最後のカラムまでが赤文字になっ
てしまいます。
ここで質問なのですが、clWindowTextとはWindowsで設定した文字色の定数ではない
のでしょうか?
なぜ黒で描画されないのか不思議です。
原因がお分かりになる方は教えてください。
太田剛文
MLホームページ: http://www.freeml.com/delphi-users
MLホームページ: http://www.freeml.com/delphi-users
----------------------------------------------------------------------
【おしゃれ泥棒】学園祭イベント実施中♪
http://ad.freeml.com/cgi-bin/sa.cgi?id=h9qp4
> ListView1.Canvas.font.Color := clRed;
> で ListView に反映される。
>
> でも ListView1CustomDrawSubItem に飛んでくるとき Canvas.Font.Color は毎回
> clWindowText
> Canvas.Font.Color に clWindowText を設定しても同じなので ListViewには 反映さ
> れない
>
> で前回設定した clRed で描画される
なるほどなんとなくわかってきました。
clWindowTextはちょっと気をつけないといけませんね。
ありがとうございました。
太田
MLホームページ: http://www.freeml.com/delphi-users
----------------------------------------------------------------------
使い方はいろいろ♪一部のメンバーだけにMLメールを送ろう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=hBahS