掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TEditやTComboBoxのEnabled := False時の動作の背景色について (ID:35842)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Delphi6 Entと Delphi 2005 Proを使って確認していますが、 DelphiのTEditとTComboBox等、Enabled := Falseにした場合、他言語(VB6や、Win32SDK等)と動作が違う為、 みなさんどのような感じで、やっているか教えて下さい。 TEditや、TComboBox等のVCLコンポーネントがDelphi(6,2005)で TEdit.Enabled := False; TComboBox.Enabled := False; とEnabledを使用不可にした場合、背景色が変わらない事に疑問を持っています。 通常Win32SDKやVB6の場合は、Win2kやWinXPまで(非Vistaや7)なら、 EnabledプロパティをFalseにすれば、背景が灰色になりつつ、文字色もグレーになります。 Delphiの場合、EnabledをFalseにしてもなりません。DelphiのVCL側で何かやってるんでしょうか? みなさんは、通常のWindows仕様と合わせる為、 TEdit.Enabled := False; TEdit.Color := clBtnFace; とセットしているんでしょうか? ちなみに、背景色が変わるのは、Windowsのシステムカラーに関係している為、 Vistaの場合は、Enabled := Falseにしても、背景色が白なのがWindows的な仕様の為、OS的な環境依存にも影響されたくないので、 上記のようなColorプロパティを固定にclBtnFaceに設定したくはないです。 ちょっとうまく説明できていませんが、目的は、Windows自体の通常のEditやComboBoxのコントロールと同じ動作仕様にしたいのが目的です。 これに関して、DelphiのVCL側の動作仕様や、回避方法に関して、何かご存じであれば教えて頂きたいです。 他にも、Delphi 2009やDelphi 2010ならVCL側に修正があって、Delphi 2009だとEnabled := Falseにすれば同じ動作するよという情報でも結構です。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.