如何实现在Treeview某Node旁加上蓝色提示(象email收件夹旁的几封邮件待读那样的)(100分)

  • 主题发起人 主题发起人 shyj
  • 开始时间 开始时间
使用TTreeView的StateImage和StateIndex。
 
你可以自己ownerdraw,画焦点框和高亮框的时候不画后面部分.

BTW;收你sina的信箱.
 
cakk,方法是肯定可行的,有现成例子吗?
 
究竟是那种方法好?有谁试过?可否把例子贴出来。
 
多人接受答案了。
 
procedure TForm1.TreeView1AdvancedCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage;
var PaintImages, DefaultDraw: Boolean);
var
NodeRect: TRect;
begin
if Stage = cdPostPaint then
begin
NodeRect := Node.DisplayRect(True);
TreeView1.Canvas.Font.Color := clBlue;
TreeView1.Canvas.Brush.Style := bsClear;
TreeView1.Canvas.TextOut(NodeRect.Right, NodeRect.Top + 2, '('+IntToStr(Node.Count)+')');
end;
end;
 
后退
顶部