关于treeview的小问题(50分)

  • 主题发起人 主题发起人 lhq_007
  • 开始时间 开始时间
L

lhq_007

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟是个新手,有一个关于TreeView的问题要请教各位大哥:
我想在Treeview里实现这种效果,当鼠标移到某个节点上时,那个节点的标题就可以
改变颜色,我现在只能是不论移到哪个节点上所有的节点都会变,现在主要是找不到该怎么去
控制一个节点。
 
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin

end;
这里面处理
 
好像无法改变标题的颜色,可以改变标题的图标。
treeview1.selected.imageindex可以改变.
 
procedure TForm1.TVCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
NodeRect: TRect;
begin
with TV.Canvas do
begin
if cdsSelected in State then Brush.Color := clred;
if not DefaultDraw then
begin
if cdsSelected in State then
begin
NodeRect := Node.DisplayRect(True);
FillRect(NodeRect);
end;
NodeRect := Node.DisplayRect(False);
Brush.Style := bsClear;
NodeRect.Left := NodeRect.Left + (Node.Level * TV.Indent);
textOut(NodeRect.Left, NodeRect.Top, Node.Text);
end;
end;
end;
 
多人接受答案了。
 
后退
顶部