TLabelの問題点。
症状:
設計時にTLabelのColorプロパティにclWindowを指定した場合、実行時には親コントロールの色になってしまいます。
またプロジェクトを保存し閉じた後でそのプロジェクトを開いた場合TLabelのColorプロパティはclWindowではなく親コントロールの色になってしまいます。
ParentColorプロパティがFalseなのにTrueの場合と同じような挙動になるということです。
調べてみるとdfmファイルにTLabelのColorプロパティの値が保存されていませんでした。
対策:
フォームのOnCreateイベントなどで当該LabelのColorプロパティにclWindowを代入することで回避できます。
備考:
ColorプロパティにclWindowを指定した場合のみの挙動です。
TLabelだけでなくTPaintBoxのColorプロパティにclWindowを指定してもdfmファイルに保存されていないことから多分TControlのColorプロパティの実装が間違っているのだろうかなと。
2009-01-26: