怎样才能使得右击一个treeview中的节点使该节点以高亮度显示 (5分)

  • 主题发起人 caoguangchuan
  • 开始时间
C

caoguangchuan

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样才能使得右击一个treeview中的节点使该节点以高亮度现实?求助
 
在TreeView的mousedown事件里,加下面的代码:
procedure TForm1.TreeView1MouseDown(Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
var
Node:TTreeNode;
begin
if (Button=mbRight) then
begin
Node := TreeView1.GetNodeAt(x,y);
if Node<>nil then
begin
Node.Selected := true;
end;
end;
end;
 
如下代码实现可以的:
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode;
State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if Node.Selected then
TreeView1.Canvas.Font.Color:=clLime //-----高亮度现实
else
TreeView1.Canvas.Font.Color:=clBlack;
end;

procedure TForm1.TreeView1MouseDown(Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
begin
if (Button=mbRight) and (TreeView1.GetNodeAt(x,y)<>nil) then
TreeView1.GetNodeAt(x,y).Selected:=True ;
end;

// 不过兄弟你也忒小气了不? 呵呵,这个题目最起码不值50分啊? [:D]
 
原来有位老兄跑的我前面了! [:(]
 
各位,不是我小气,实在是本人拿不出银子,只有谢谢各位了
 
顶部