delphi - Disable and change color of node in Treeview -


i looking way of disabling proper nodes.

let's have created simple treeview structure below:

  • parent 1 (disable)
  • parent 2
    • child 1
    • child 2 (disable)

so far have found workaround how that, still doesn't work @ all. use onchanging event handler:

procedure tform1.treeviewchanging(sender: tobject; node: ttreenode;   var allowchange: boolean);  begin    if (node.text = 'parent 1') or (node.text = 'child 1')       allowchange := false; end; 

it works, because can't click on node, issue after 'disabling' node way, color of parent 1 , child 1 nodes same other. way change color of nodes (grey)? or maybe know way disabling nodes in ttreeview component?

to disable node, set enabled property false. disabled item displayed in gray color.

to change normal color of nodes text, change ttreeview.font.color.

to change color of disabled nodes text, use oncustomdrawitemevent:

procedure tform2.treeview1customdrawitem(sender: tcustomtreeview;   node: ttreenode; state: tcustomdrawstate; var defaultdraw: boolean); begin   if cdsdisabled in state     sender.canvas.font.color := clred; //cl3dlight; end; 

default color settings:

enter image description here

disabled color = cl3dlight:

enter image description here

normal text color = clgreen , disabled color = clred:

enter image description here


Comments

Popular posts from this blog

angular - Is it possible to get native element for formControl? -

unity3d - Rotate an object to face an opposite direction -

javascript - Why jQuery Select box change event is now working? -