Я хотел бы изменить серый цвет Texthint моих TEdits.Delphi XE7: TEdit TextHint Color
Я Allready нашел https://stackoverflow.com/a/31550017/1862576 и пытался изменить в цвет с помощью SendMessage как этот
procedure TEdit.DoSetTextHint(const Value: string);
var
Font: TFont;
begin
if CheckWin32Version(5, 1) and StyleServices.Enabled and HandleAllocated then
begin
Font := TFont.Create;
try
Font.Assign(self.Font);
Font.Color := clGreen;
Font.Size := 20;
SendTextMessage(Handle, EM_SETCUEBANNER, WPARAM(1), Value);
SendMessage(Handle, WM_SETFONT, Integer(Font.Handle), Integer(True));
finally
// Font.Free;
end;
end;
end;
Он изменяет размер шрифта, но не цвет. Спасибо за помощь.
Проблема заключается в том, что с вашим кодом вы меняете C olor для текста TEdit, а не HintText. Теперь я даже не уверен, что VCL предоставляет цвет TextHint или если он, возможно, жестко закодирован. – SilverWarior
Нет функциональности цветового баннера, отображаемого базовым API Win32, поэтому невозможно применить пользовательские цвета к тексту знака баннера. –