|
gettextlocation的一个问题
winlistview下有这么个方法:gettextlocation,描述中说:
Description
Checks whether the specified text string is contained in the specified window area.
Syntax
object.GetTextLocation (TextToFind, Left, Top, Right, Bottom, [MatchWholeWordOnly])
按我的理解这的方法返回的该是文字串的区域坐标,而L,T,R,B则应该是表示查找范围,如果这些值都输入-1,那么就是表示在整个控件中查找。
而实际运行中我发现L,T,R,B四个值几乎和超找的内容没什么关系。我把这四个值都设为0,居然也可以找到对象中的某一段话,返回的值是True。而如果直接用变量,返回给我的则是整个object对应的L,T,R,B。而不是对应的文字区域。
而后我再认真看了看帮助文档
发现还有这么段话:
Notes:
The GetTextLocation method may behave differently in different run sessions depending on the operating system version you are using, service packs you have installed, other installed toolkits, the APIs used in your application, and so on. Therefore, when possible, it is highly recommended to use the GetROProperty method to retrieve the value of the text (or equivalent) property from an object in your application instead of using the GetTextLocation method.
那么这是不是意味着,我测试中出现的情况是因为我的机子本身的环境造成的?还是这个方法本身的返回值就是整个对象的L,T,R,B?使用前对L,T,R,B的付值难道不是指查找区域范围?
期待答案中。。。。 |
|