在编辑状态下,对一个节点的Text进行修改,在结束编辑状态时,
用新输入的Text与树中所有节点的Text进行比较,如果有相同的就进行提示后
将该节点的Text恢复原状,并处于编辑状态。
我是在OnEdited事件中做的,但是Text看不到了
procedure TForm1.TreeView1Edited(Sender: TObject; Node: TTreeNode;
var S: String);
var
i: integer;
begin
for i:=0 to TreeView1.Items.Count-1 do
begin
if S=TreeView1.Items[i].Text then
begin
ShowMessage('该节点已存在!');
Node.EditText;
end
end;
end;
我感觉这个事件是发生在取消编辑状态之前,所以不能实现我的要求
哪位老大帮忙呀
用新输入的Text与树中所有节点的Text进行比较,如果有相同的就进行提示后
将该节点的Text恢复原状,并处于编辑状态。
我是在OnEdited事件中做的,但是Text看不到了
procedure TForm1.TreeView1Edited(Sender: TObject; Node: TTreeNode;
var S: String);
var
i: integer;
begin
for i:=0 to TreeView1.Items.Count-1 do
begin
if S=TreeView1.Items[i].Text then
begin
ShowMessage('该节点已存在!');
Node.EditText;
end
end;
end;
我感觉这个事件是发生在取消编辑状态之前,所以不能实现我的要求
哪位老大帮忙呀
procedure TForm1.TreeView1Edited(Sender: TObject; Node: TTreeNode;
var S: String);
var
I: Integer;
begin
for I := 0 to TTreeView(Sender).Items.Count - 1 do
if (TTreeView(Sender).Items[I] <> Node) and
(S = TTreeView(Sender).Items[I].Text) then begin
ShowMessage('该节点已存在!');
S := Node.Text;
Timer1.Enabled := True;
Exit;
end
end;procedure TForm1.Button1Click(Sender: TObject);
begin
TreeView1.SetFocus;
TreeView1.Selected.EditText;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
TTimer(Sender).Enabled := False;
TreeView1.SetFocus;
TreeView1.Selected.EditText;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled := False;
Timer1.Interval := 10;
end;