Delphi7 关于TreeView的叶子节点的背景颜色设置,该如何处理

Delphi7 关于TreeView的叶子节点的背景颜色设置
我的TreeView很整齐,所有的叶子都在第3层,我是想在窗体的OnShow事件中,让树状图全展开,然后对于所有的叶子,若满足某个条件(与数据库相关),则将其底纹的颜色改成黄色,若不满足这个条件则还是白色。注意,是对某几个满足条件的叶子节点的字符底纹颜色作改变,而不是整棵树!
  我是用了:
for i:=0 to TreeView1.Items.Count-1 do
  begin
  if TreeView1.Items.Item[i].Level=3 then
  begin
  if {该叶子节点满足某条件} then
  TreeView1.Items.Item[i].//到这里我是想输入.Canvas,但悬浮提示框里却没有,说明不对。不知道该怎样了。求高手指教!

  在百度知道提问,只有一个人回答,而且给的答案是这个:..\Program Files\Borland\Delphi7\Demos\CustomDraw\ 
  我看了下这位六级的大神指明的这个示例程序——看不懂啊——我菜鸟一个啊!还求神们指点迷津啊——或者把这个示例代码给一些中文注释让大家都学习学习也可以啊~~~~~~~~~~~~跪求!!!

------解决方案--------------------
Delphi(Pascal) code
//TreeView1的OnCustomDrawItem事件
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if (Node.Level = 3) {and (该叶子节点满足某条件)} then
    Sender.Canvas.Brush.Color := clGreen ;

  DefaultDraw := True
end;