这样做: procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); begin edit1.Text:= treeview1.Selected.Text; end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key=13 then begin treeview1.Selected.Text:= edit1.Text ; end; end;
我想你要做的无非是让EDIT和treeview互动,可以当在edit输入完内容后,敲回车再变
onkeypress中,当回车时再执行处理程序
那么这样好不好: Edit---OnKeyPress:if edit.text <> treeview.item.data then treeview.item.data = edit.text 应该可以了吧!
var AllowChange: Boolean);
begin
Edit1.Text := Node.Text;
end;procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
...在这个事件中更新TreeView中选中节点的Data值,不要用OnChange
end;
用OnChanging也不行
我现在就是在Edit中用的OnKeyUp事件,但是粘贴进去的就不能触发这个事件啊。
SetWindowText( Edit.Handle, ... )。
这样就不会触发Edit中的OnChange事件.
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
edit1.Text:= treeview1.Selected.Text;
end;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin if Key=13 then
begin
treeview1.Selected.Text:= edit1.Text ;
end;
end;
Edit---OnKeyPress:if edit.text <> treeview.item.data then
treeview.item.data = edit.text 应该可以了吧!
我是想在TreeView树的节点的,并给Edit赋值的时候,不触发Edit的OnChange事件。
不知道有没有办法来实现他。