当TreeView未聚焦时,如何将TreeView的选定节点设置为默认的clHighlight
颜色?我在CustomDrawItem
和AdvancedCustomDrawItem
事件中尝试了这个代码——运气不好:
if (cdsSelected in State) then
Sender.Canvas.Brush.Color := clHighlight;
还试着改变了.HideSelection
的性质,没什么区别,还是用那种很浅的灰色。我用的是D7。
发现的问题来源:
// 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
代码中存在某种条件,该条件正在检查该颜色并执行不同的操作。