树视图未聚焦时的默认选择颜色

mftmpeh8  于 2022-09-21  发布在  其他
关注(0)|答案(1)|浏览(181)

当树视图未聚焦时,如何将树视图的选定节点设置为默认的clHighlight颜色?我在CustomDrawItemAdvancedCustomDrawItem事件中尝试了此代码-没有成功:

if (cdsSelected in State) then
  Sender.Canvas.Brush.Color := clHighlight;

我也尝试了更改.HideSelection属性,没有什么不同,仍然使用非常浅的灰色。我用的是D7。

niwlg2el

niwlg2el1#

发现的问题来源:

// does nothing, still grayed when losing focus
if (cdsSelected in State) then
  Sender.Canvas.Brush.Color := clHighlight;

// works fine
if (cdsSelected in State) then
  Sender.Canvas.Brush.Color := ColorToRGB(clHighlight);

由于某些原因,不能使用clHighlight颜色,可能TTreeView代码中存在某种条件,该代码正在对照此颜色进行检查,并执行不同的操作。

相关问题