下面这段代码实现点击Form上的del_btn按钮后,删除选中结点,选中其前一个结点,若没有前一个,则选中其父结点。可如何使新选中的结点高亮(象鼠标点中变蓝一样)呢?请高手指点。procedure TProjSplit_Form.del_btnClick(Sender: TObject);
var previousNode:TTreeNode;//存放新选中结点
begin
if (selectedNode <> nil) and (selectedNode.Parent <> nil) then begin
previousNode:= selectedNode.GetPrev;
selectedNode.Selected:=false;
//若有前一个结点,则选中。
if previousNode<>nil then
begin
showmessage('previous!');
previousNode.Selected:=true;
//previousNode.Focused:=true;
showmessage('previous!');
//若没有前一个结点,则选中父
end else begin
showmessage('parent!');
previousNode:=selectedNode.Parent;
previousNode.Selected:=true;
showmessage('parent!');
end;
selectedNode.Delete;
selectedNode:=nil;
previousNode.Focused:=true;
end;
end;
var previousNode:TTreeNode;//存放新选中结点
begin
if (selectedNode <> nil) and (selectedNode.Parent <> nil) then begin
previousNode:= selectedNode.GetPrev;
selectedNode.Selected:=false;
//若有前一个结点,则选中。
if previousNode<>nil then
begin
showmessage('previous!');
previousNode.Selected:=true;
//previousNode.Focused:=true;
showmessage('previous!');
//若没有前一个结点,则选中父
end else begin
showmessage('parent!');
previousNode:=selectedNode.Parent;
previousNode.Selected:=true;
showmessage('parent!');
end;
selectedNode.Delete;
selectedNode:=nil;
previousNode.Focused:=true;
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货