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

2004/07/03

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ストップ »

コメント

コメントを書く



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


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/36845/894234

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

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