« スパム | トップページ | 4ストップ »

2004年7月 3日 (土)

TEdit.Enabled := false

TEditのEnabledをfalseにすると文字の色がグレーになる。これをなんとかしようとアレコレ調べてたどり着いたのがWM_CTLCOLORSTATICメッセージを捕らえるというもの。
procedure TMyEdit.WMCTLCOLORSTATIC(var Message: TWMCTLCOLORSTATIC);
var
brush: TBrush;
begin
with Message do
begin
Result := Parent.Brush.Handle;
SetBkColor(ChildDC, ColorToRGB(Parent.Brush.Color));
SetTextColor(ChildDC, ColorToRGB(clRed));
end;
end;
としてみたが、背景色は変わったが前景色は変わらない。delphiの場合、背景色だけならcolorプロパティで変更できるので、これでは意味無し。

結局、パネルにEditを乗せて、パネルのEnabledをfalseにすればできた。ふぅ。

« スパム | トップページ | 4ストップ »

delphi」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: TEdit.Enabled := false:

« スパム | トップページ | 4ストップ »