Enabled表示するには?


アライグマ助かる  2010-01-12 12:22:27  No: 36943  IP: 192.*.*.*

Panelのキャプション や 
StringGrid の文字などの
Enabled を true にしても
変更されません。
label のようにグレーのへこんだ文字にするには
どうすればよいのでしょうか?

編集 削除
まず  2010-01-12 15:47:27  No: 36944  IP: 192.*.*.*

Delphiのバージョンは?
XPテーマは有効?無効?

編集 削除
けど  2010-01-12 19:07:33  No: 36945  IP: 192.*.*.*

いあ、おそらく全バージョンでグレー文字には変わらないでしょ
自分でしなきゃ
  with (Sender as TPanel) do
  begin
    Enabled:=not Enabled;
    if Enabled then Font.Color:=clWindowText else
      Font.Color:=clGrayText;
  end;

編集 削除
アライグマ助かる  2010-01-13 15:59:10  No: 36946  IP: 192.*.*.*

ありがとうです。

グレー表示はFontColorの変更でできるのはやってみたのですが、
ラベルのようなへこんだ文字にはならないんですよね。
この際しかたないのでしょうか?

文字は我慢できるとしても、
StringGridの場合は罫線とか、Fixed部分の表示を変えたいのですが
これってやっぱりOnPaint使わないとできないんでしょうか?

編集 削除
そう  2010-01-13 16:09:48  No: 36947  IP: 192.*.*.*

ラベルのようなへこんだ文字にするには、標準機能では無理なので
Paintをoverrideする必要あり。
ただし、XPテーマが有効の場合、overrideしたPaintが呼ばれないという
問題もある。

編集 削除