dyjyhx 发表于 2005-3-7 11:01:24

显示在树型查看对象中隐藏的项目

代码如下:
   i=0;
    list_get_info("SysTreeView32","count",value);
   while (i<=value)
   {
          list_get_info("SysTreeView32","count",value);
                   list_get_item("SysTreeView32",i,item);
                   list_expand_item ("SysTreeView32", item);
                   i++;
    }

在运行后,总是最后一条不能打开。显示
Object: "SysListView32"
Error: Item not found.

不知道是什么原因?请指点

QA_BAY 发表于 2005-3-7 11:56:47

WR认不了SysListView32
你检查一下正常的录制可以回放吗?
或者你的操作有错误才报这个错误!

dyjyhx 发表于 2005-3-8 08:02:49

我写错了,应该是在运行后,显示
Object: "SysTreeView32"
Error: Item not found.

Wrneng 认识SysTreeView32这个控件。

dyjyhx 发表于 2005-3-8 08:43:35

可能是这个原因:请大家帮我看看能不能解决

当前面的项目被打开后,由于文字长度的问题,在SysTreeView出现了滚动条。当运行到打开最后一条的语句时,由于滚动条的存在,把最后一条项目前面的那个“+”给遮住了。鼠标不能点到那个"+",所以不能打开。就报了Object: "SysTreeView32"
Error: Item not found.

dyjyhx 发表于 2005-3-8 08:45:21

解决的办法我想是不是把滚动条移动到最左边?但SysTreeView中的滚动条好象是自动出现并和SysTreeView是一体的。它是没有名字的。Wr不能识别的。怎么解决?请大家指点

dyjyhx 发表于 2005-3-8 08:52:48

还有就是这段代码好象也有问题。我是从TSL帮助的函数的例子中找到的,没做修改。
问题是:

   当运行到最后一条项目时,由于While(i<=value) ,此时i = value,仍能执行while中的语句,当执行到list_get_item("SysTreeView32",i,item);就会往最后一条项目后面去找。此时肯定是找不到item的。一定会报
"SysTreeView32"
Error: Item not found.

生如火花 发表于 2005-3-8 09:19:19

有些控件的滚动条是可以录的。你可以试试

dyjyhx 发表于 2005-3-8 09:35:07

我试过了,SysTreeView这个控件的滚动条无法录制

QA_BAY 发表于 2005-3-8 10:25:33

我测试过了,
他是执行到I=7<8时才出现错误的!就是展不开下一级
没有理由的.

QA_BAY 发表于 2005-3-8 10:27:32

i=0;
    list_get_info("SysTreeView32","count",value);
   while (i<=value)
   {
             # list_get_info("SysTreeView32","count",value);(如果这个屏蔽掉就只打开一级)
                   list_get_item("SysTreeView32",i,item);
                   list_expand_item ("SysTreeView32", item);
                   i++;
    }

dyjyhx 发表于 2005-3-8 10:34:38

还有就是这段代码好象也有问题。我是从TSL帮助的函数的例子中找到的,没做修改。
问题是:

   当运行到最后一条项目时,由于While(i<=value) ,此时i = value,仍能执行while中的语句,当执行到list_get_item("SysTreeView32",i,item);就会往最后一条项目后面去找。此时肯定是找不到item的。一定会报
"SysTreeView32"
Error: Item not found.

---------------------------------------------------------------------------------------------------
这一句是不能屏蔽掉的。屏蔽掉就只能打开第一级。

我把while(i< a)   a的值用总项目个数减1代替。这样才能把这一句屏蔽掉。这要求先把总项目个数自己数出来。
这个问题就能解决了。
不知道谁还有没有更好的办法?

dyjyhx 发表于 2005-3-8 10:35:49

现在的问题是:
当前面的项目被打开后,由于文字长度的问题,在SysTreeView出现了滚动条。当运行到打开最后一条的语句时,由于滚动条的存在,把最后一条项目前面的那个“+”给遮住了。鼠标不能点到那个"+",所以不能打开。就报了Object: "SysTreeView32"
Error: Item not found.

SysTreeView这个控件的滚动条无法录制

QA_BAY 发表于 2005-3-8 10:44:27

把最后一条项目前面的那个“+”给遮住了。鼠标不能点到那个"+",所以不能打开。就报了Object: "SysTreeView32"
Error: Item not found.
我觉得应该不是这个!遮不遮住都不会有错!

                   list_get_info("SysTreeView32","count",value)---- 数一下总的有多少级项目
                   list_get_item("SysTreeView32",i,item); 存入读到的项目名
                   list_expand_item 然后展开,
到最后一步,如果你没有展开也应该不会出现那样的错误才对阿!
想不通!(是不是没有有展开就报错呢?)

dyjyhx 发表于 2005-3-8 10:51:32

把最后一条项目前面的那个“+”给遮住了。鼠标不能点到那个"+",所以不能打开。就报了Object: "SysTreeView32"
Error: Item not found.
我觉得应该不是这个!遮不遮住都不会有错!

                   list_get_info("SysTreeView32","count",value)---- 数一下总的有多少级项目
                   list_get_item("SysTreeView32",i,item); 存入读到的项目名
                   list_expand_item 然后展开,
到最后一步,如果你没有展开也应该不会出现那样的错误才对阿!
想不通!(是不是没有有展开就报错呢?)

-------------------------------------------------------------------------------------------
把最后一条项目前面的那个“+”给遮住了。鼠标不能点到那个"+",所以不能打开。就报了Object: "SysTreeView32"
Error: Item not found.
我觉得应该不是这个!遮不遮住都不会有错!

我试过了,应该是这个原因。因为在运行时,鼠标回自动去点击这个“+”。如果遮住了,鼠标就找不到这个“+”。所以无法打开这个项目。
----------------------------------------------------------------------------


                   list_get_info("SysTreeView32","count",value)---- 数一下总的有多少级项目
                   list_get_item("SysTreeView32",i,item); 存入读到的项目名
                   list_expand_item 然后展开,——-————
前面的项目是没有问题的,当到最后一级项目时,由于下面没有项目,此时运行list_get_item("SysTreeView32",i,item); 找不到后面的项目,就会出现提示

dyjyhx 发表于 2005-3-8 13:53:17

求救呀

shyfish 发表于 2005-3-8 15:28:43

i = 0 to i <= value,and that counts value+1, maybe it's the problem

dyjyhx 发表于 2005-3-8 15:53:38

那要怎么解决那?
页: [1]
查看完整版本: 显示在树型查看对象中隐藏的项目