是否可以将ShellListView中的项目设置为visible=false
?我曾想过类似ShelLlistView.Items.visible(false)
之类的东西,但是那还不存在,我也不知道有其他解决方案,因此希望有人可以帮助我。
我还不能为您发布任何代码,因为我还没有任何ShellListView,但是我希望您能给我一些建议,说明它如何工作。
答案 0 :(得分:1)
Afaik,这是不可能的,因为TShellListView中显示的ListItem
没有Visible
属性。但是,根据彼得·贝夫特(TeamB)所说,您可以通过销毁物品来有效地“隐藏”物品。参见http://www.delphigroups.info/2/67/290279.html
当然,如果您希望“取消隐藏”以这种方式隐藏的项目,则需要使用相同的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;