delphi 列表视图中的搜索框文本颜色

v9tzhpje  于 2022-12-18  发布在  其他
关注(0)|答案(1)|浏览(144)

我正在尝试更改列表视图中搜索框的文本颜色...
即使在“搜索框”列表视图控件中查看,颜色也无法更改...

procedure TfrmList.FormShow(Sender: TObject);
begin
var
  i: integer;
  sb: TSearchBox;
begin
  for i := 0 to ListView1.Controls.Count-1 do
    if ListView1.Controls[I].ClassType = TSearchBox then
    begin
      sb := TSearchBox(ListView1.Controls[i]); 
      Break;
    end;

    sb.FontColor := TAlphaColors.White;
    //or
    sb.TextSettings.FontColor := TAlphaColors.White;
end;

有什么想法吗?谢谢
更改列表视图控件中的颜色设置。

r6vfmomb

r6vfmomb1#

添加如下所示的行:

procedure TfrmList.FormShow(Sender: TObject);
begin
var
  i: integer;
  sb: TSearchBox;
begin
  for i := 0 to ListView1.Controls.Count-1 do
    if ListView1.Controls[I].ClassType = TSearchBox then
    begin
      sb := TSearchBox(ListView1.Controls[i]); 
      Break;
    end;

    sb.FontColor := TAlphaColors.White;
    //or
    sb.TextSettings.FontColor := TAlphaColors.White;
    sb.StyledSettings:=sb.StyledSettings-[TStyledSetting.FontColor]; //<--Add this line.
end;

这是人们经常遇到的一个常见问题。如果StyledSettings属性没有清除related标志,那么你这样修改的任何文本设置都将被忽略。当你在对象检查器中修改字体颜色时,StyledSettings属性将自动更新。但是当你通过编程进行修改时,你还需要在代码中修改StyledSettings

相关问题