我想将我的 TEdits 的 Texthint 更改为灰色。
我已经找到了这个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;
它会更改字体的大小,但不会更改颜色。谢谢你的帮助。