Отключенный цвет шрифта TEdit - PullRequest
1 голос
/ 08 января 2012

У меня есть приложение с одним TEdit, которое отключается при запуске приложения.После некоторых расчетов он будет включен.Мое требование состоит в том, чтобы установить Font.Color для этого отключенного TEdit как синий вместо серого (отключенный цвет шрифта).

Ответы [ 2 ]

5 голосов
/ 08 января 2012

Это не поддерживается стандартом TEdit. Вы можете установить правку ReadOnly вместо Disabled - таким образом цвет шрифта сохраняется, но пользователь не может изменить значение редактирования. Т.е. «отключить» редактирование

Edit1.ReadOnly := True;
Edit1.Font.Color := clBlue;

и включить его снова

Edit1.ReadOnly := False;
Edit1.Font.Color := clWindowText;
3 голосов
/ 09 января 2012

См. Два предложения Питера Белоу для достижения вашей цели на Delphi Pages Торри по этой ссылке . Судя по вашему комментарию о том, что вы гуглили, его первое предложение будет проще для вас реализовать. Удалите TPanel на форму и перетащите TEdit на TPanel (т. Е. TPanel является родителем TEdit. Затем перетащите кнопку на форму, чтобы имитировать, когда ваши вычисления будут выполнены.

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;
...