小编sid*_*unk的帖子

TShellTreeView在哪里?

我正在尝试在Delphi 10 Seattle中编译旧项目并收到以下错误消息

找不到类TShellTreeView点击取消忽略.....

TShellTreeView是一个设计时组件,是ShellCtrls软件包的一部分,它始终随Delphi一起提供,通常包含在以下Samples软件包中:

C:\ Users\Public\Documents\Embarcadero\Studio\xx.x\Samples\Object Pascal\VCL\

现在它似乎不再存在了.这个包裹在哪里?

delphi delphi-xe7 delphi-10-seattle

0
推荐指数
1
解决办法
4265
查看次数

无法通过TListView迭代

为什么下面的代码没有迭代ListView?

  for x := 1 to ListView1.Items.Count do
  Begin
    PName := ListView1.Items.Item[i].Caption;
    Variable := ListView1.Items.Item[i].SubItems[0];
    Val := ListView1.Items.Item[i].SubItems[1];
    ToFIle(PName, Variable, Val);
  End;
Run Code Online (Sandbox Code Playgroud)

delphi

0
推荐指数
1
解决办法
445
查看次数

从循环中的TreeView中删除用户选择的项时,如何避免无效索引错误?

我有一个树视图和一个列表视图,以及一个应该将所选项目从树视图移动到列表视图的按钮.选择和传输完全正常,但删除树视图中的项目不是.它仅在我在树视图下选择单个项目时才有效.当我有TreeView1.MultiSelect := True,然后有一个问题.

这是我正在使用的代码:

For i := 0 to TreeView1.Items.Count-1 do Begin
 If TreeView1.Items[i].Selected then
 Begin
 Itm := ListView1.Items.add;
 .....
 TreeView1.Items[i].Delete
Run Code Online (Sandbox Code Playgroud)

上述代码在某些选择后给出无效索引.不完美有时只添加两个中的一个.

尝试:

  1. For i := TreeView1.Items.Count to 1 do Begin
  2. 首先填充listview,然后尝试从treeview中删除,而不是同时执行它.同样的错误.
  3. 试图将Parent和Child存储在一个数组中,然后用名称删除它们.问题是未在树视图中选择的特定项目.

当我选择父节点中的所有元素被复制的最后一个元素时,这是不起作用的代码

for Itr := TreeView1.Items.Count-1 downto 0 do Begin
  if TreeView1.Items[Itr].Selected then
  begin
    Str := TreeView1.Items[Itr].Parent.Text + ' ,' + TreeView1.Items[Itr].Text;
    TrimLeft(Str);
    for k := 0 to SaveList.Count -1 do Begin
      If ansipos(Str, SaveList[k]) > 0 Then Begin
        Value := StringReplace(SaveList[k], Str, '',[rfReplaceAll, rfIgnoreCase]);
      End; …
Run Code Online (Sandbox Code Playgroud)

delphi treeview listview vcl

-1
推荐指数
1
解决办法
387
查看次数

标签 统计

delphi ×3

delphi-10-seattle ×1

delphi-xe7 ×1

listview ×1

treeview ×1

vcl ×1