我有一个TEdit
的应用程序在应用程序运行时被禁用。经过一些计算后,它将被启用。我的要求是将此禁用Font.Color
的{{1}}设置为蓝色而不是灰色(禁用字体颜色)。
答案 0 :(得分:5)
标准TEdit
不支持此功能。您可以将编辑设置为ReadOnly而不是Disabled - 这样可以保留字体颜色,但用户无法更改编辑的值。即“禁用”编辑
Edit1.ReadOnly := True;
Edit1.Font.Color := clBlue;
并再次启用
Edit1.ReadOnly := False;
Edit1.Font.Color := clWindowText;
答案 1 :(得分:3)
请参阅Peter Below关于在此link完成Torry的Delphi页面目标的两条建议。从你对你用Google搜索的评论来判断,他的第一个建议对你来说更简单。在表单上放一个TPanel并将TEdit拖到TPanel上(即TPanel是TEdit的父级。然后在表单上放一个Button来模拟计算完成的时间。
procedure TForm1.btnToggleEnabledClick(Sender: TObject);
begin
if Panel1.Enabled then
begin
{Calcs are not done, so disable the TEdit}
Panel1.Enabled := false;
Edit1.Font.Color := clBlue;
Edit1.Text := 'Calcs not done';
end
else
begin
{Calcs are done, so enable the TEdit}
Panel1.Enabled := true;
Edit1.Font.Color := clWindowText;
Edit1.Text := 'Calcs all done';
end;
end;