TShellListView 拉撒路
TShellListView Lazarus
是否可以将 ShellListView 中的项目设置为 visible=false
?我想过 ShelLlistView.Items.visible(false)
之类的东西,但那不存在,我不知道其他解决方案,所以我希望有人能帮我解决这个问题。
我还不能 post 任何代码给你,因为我还没有任何 ShellListView,但我希望你能给我一些建议,告诉我它是如何工作的。
Afaik,这是不可能的,因为 TShellListView 中显示的 ListItem
没有 Visible
属性。但是,根据 Peter Below(TeamB)的说法,您可以通过销毁它来有效地 "hide" 一个项目。参见 http://www.delphigroups.info/2/67/290279.html
当然,如果您希望 "unhide" 以这种方式隐藏一个项目,您需要创建并添加一个具有相同 Caption
的新节点,等等
使用标准 Lazarus TShellListView,此代码对我来说工作正常:
procedure TForm1.Button1Click(Sender: TObject);
var
Item : TListItem;
begin
Item := ShellListView1.Items[0];
Caption := Item.Caption;
Item.Free;
end;
并删除列表中的第一项。
以下删除了 ShellListView
中的所有项目。 downto
是为了说明 Count
值在循环的每次迭代中都会减少。
procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
begin
for i := ShellListView1.Items.Count - 1 downto 0 do
ShellListView1.Items[i].Free;
end;
是否可以将 ShellListView 中的项目设置为 visible=false
?我想过 ShelLlistView.Items.visible(false)
之类的东西,但那不存在,我不知道其他解决方案,所以我希望有人能帮我解决这个问题。
我还不能 post 任何代码给你,因为我还没有任何 ShellListView,但我希望你能给我一些建议,告诉我它是如何工作的。
Afaik,这是不可能的,因为 TShellListView 中显示的 ListItem
没有 Visible
属性。但是,根据 Peter Below(TeamB)的说法,您可以通过销毁它来有效地 "hide" 一个项目。参见 http://www.delphigroups.info/2/67/290279.html
当然,如果您希望 "unhide" 以这种方式隐藏一个项目,您需要创建并添加一个具有相同 Caption
的新节点,等等
使用标准 Lazarus TShellListView,此代码对我来说工作正常:
procedure TForm1.Button1Click(Sender: TObject);
var
Item : TListItem;
begin
Item := ShellListView1.Items[0];
Caption := Item.Caption;
Item.Free;
end;
并删除列表中的第一项。
以下删除了 ShellListView
中的所有项目。 downto
是为了说明 Count
值在循环的每次迭代中都会减少。
procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
begin
for i := ShellListView1.Items.Count - 1 downto 0 do
ShellListView1.Items[i].Free;
end;