Delphi t查看项目取消选择
我是Delphi(和Firemonkey)的新手,我可以通过再次单击TTreeViewItem(如果已经选中)来取消选择TTreeViewItem。我看到的唯一问题是,我只知道如何为已经在开发人员窗口中创建的项目创建事件,而不是用户稍后创建的项目 我知道可以稍微清理一下,但这里是我创建TTreeViewItems的地方。在TreeView W1中单击“使用ClearingEdit2中的文本创建节点项”时,我有按钮1,如果未选择任何节点/子节点,则会创建一个新的根节点,否则会将其创建为父选定节点的子节点:Delphi t查看项目取消选择,delphi,treeview,firemonkey,treeviewitem,Delphi,Treeview,Firemonkey,Treeviewitem,我是Delphi(和Firemonkey)的新手,我可以通过再次单击TTreeViewItem(如果已经选中)来取消选择TTreeViewItem。我看到的唯一问题是,我只知道如何为已经在开发人员窗口中创建的项目创建事件,而不是用户稍后创建的项目 我知道可以稍微清理一下,但这里是我创建TTreeViewItems的地方。在TreeView W1中单击“使用ClearingEdit2中的文本创建节点项”时,我有按钮1,如果未选择任何节点/子节点,则会创建一个新的根节点,否则会将其创建为父选定节点的
procedure TForm3.Button1Click(Sender: TObject);
var
Item1 : TTreeViewItem;
begin
if NodeSelected = 'DeSelected' then
begin
Item1 := TTreeViewItem.Create(Self);
Item1.Text := ClearingEdit2.Text;
Item1.Parent := TreeView1;
end
else
if NodeSelected = 'Selected' then
begin
Item1 := TTreeViewItem.Create(Self);
Item1.Text := ClearingEdit2.Text;
Item1.Parent := TreeView1.Selected;
TreeView1.Selected.Deselect;
TreeView1.Selected.Expand;
NodeSelected := 'DeSelected';
ClearingEdit2.SetFocus;
ClearingEdit2.SelectAll;
end;
end;
稍后在程序中,我将使用以下内容:
procedure TForm3.TreeViewItem1Click(Sender: TObject);
begin
if ((NodeSelected = 'Selected')= false) then
begin
NodeSelected := 'Selected';
Label1.Text := 'Selected';
end
else
if (NodeSelected = 'Selected') then
begin
TreeView1.Selected.Deselect;
NodeSelected := 'DeSelected';
ClearingEdit2.SetFocus;
end
else
end;
到目前为止,由于它的结构方式,我可以让它取消选择已经制作的项目,但一般来说不是树项目,这是我需要的。我只是不知道如何使用它来动态地工作,而不管它的名字是什么,但我只是使用了TreeView中的所有TreeView项。不管怎样,我已经找到了答案 要修复它,首先我使用:
type
TForm3 = class(TForm)
procedure Button1Click(Sender: TObject);
procedure Item1Click(Sender: TObject);
然后我用了:
procedure TForm3.Button1Click(Sender: TObject);
var
Item1 : TTreeViewItem;
begin
if NodeSelected = 'DeSelected' then
begin
Item1 := TTreeViewItem.Create(Self);
Item1.Text := ClearingEdit2.Text;
Item1.Parent := TreeView1;
Item1.OnClick := Item1Click;
end
else
if NodeSelected = 'Selected' then
begin
Item1 := TTreeViewItem.Create(Self);
Item1.Text := ClearingEdit2.Text;
Item1.Parent := TreeView1.Selected;
Item1.OnClick := Item1Click;
TreeView1.Selected.Deselect;
TreeView1.Selected.Expand;
NodeSelected := 'DeSelected';
ClearingEdit2.SetFocus;
ClearingEdit2.SelectAll;
end;
end;
最后,对于我使用的点击事件:
procedure TForm3.Item1Click(Sender: TObject);
begin
if ((NodeSelected = 'Selected')= false) then
begin
NodeSelected := 'Selected';
end
else
if (NodeSelected = 'Selected') then
begin
TreeView1.Selected.Deselect;
NodeSelected := 'DeSelected';
ClearingEdit2.SetFocus;
end
else
end;