请教关于颜色设置的问题,谢谢(50分)

  • 主题发起人 wjlsmail
  • 开始时间
W

wjlsmail

Unregistered / Unconfirmed
GUEST, unregistred user!
您好,我想让Edit1在Enable为False时不显示灰色(随便别的颜色),请问该怎么作 ?
有如下试验:
1.
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Enabled := False ; //此时变灰,怎样让它此时为蓝色 ?
Edit1.font.color:=clblue ;//不管怎样设置,都是灰的
end;

2. 有人说用 ReadOnly ,但ReadOnly和 DisEnabled 的效果不一样。
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.ReadOnly:=true ;
Edit1.font.color:=clblue ;
end;

3.截获 wm_paint消息,自己写,现在我还不会,望大家指导,谢谢
 
要不改源码吧
 
重载
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
 
我有一个好用的办法
放一个PANEL 的EDIT放时去
Panel.beveloute=bvnone;
PANEL.enable:=false
想可用时 enable:=true;
 
同意spymaster的,随便放在什么Container里都行。
 
>重载
>procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
好象不行吧!除非从TEDIT派生一个新类。
 
对,用一个容器把它装起来,把容器的enabled设置为false,其他比如richedit也可用相同的方法使它enabled而不变灰。
 
顶部