WEB开发网
开发学院软件开发VC 遍历和查找外部程序 Tree-View 中的项目 阅读

遍历和查找外部程序 Tree-View 中的项目

 2007-03-17 21:59:26 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 《金山词霸2002》中的附录收集了很多古诗,有时为了寻找一篇古诗,遍历和查找外部程序 Tree-View 中的项目,得找很久很久(俺文科很差),观察其附录的结构,作用是将用户输入的十六进制TV句柄值转换成十进制并存放在变量dec_sum中,此代码不列入本文讨论的范畴,发现是个Tree-

本文示例源代码或素材下载

《金山词霸2002》中的附录收集了很多古诗,有时为了寻找一篇古诗,得找很久很久(俺文科很差)。观察其附录的结构,发现是个Tree-View控件,如果能查找里面的项目该有多好,可这个功能软件本身却并没有提供(不知道现在最新的版本是否已经提供了这个功能,如果没有,赶快加上吧,顺便奖励俺一套该产品的最新版,哈哈)……问题出来了:我们要编写一个程序,让她在外部程序中的Tree-View控件里,按用户指定的项目名称顺序查找其中的项目。

要查找首先得遍历,连范围都确定不好何谈查找?所以本篇分两部分进行讲解:第一部分解决遍历的问题;第二部分解决查找指定项目的问题。

第一部分:遍历外部程序Tree-View中的项目

一:程序说明:

如图一所示Tree-View控件的典型结构图,我们将按照图示的顺序来遍历其中的项目。

图一

翻阅SDK手册中关于Tree-View控件的相关章节,发现了几个有用的消息:

TVM_GETNEXTITEM:得到项目的句柄(参数:TVGN_ROOT得到根句柄,TVGN_NEXTVISIBLE得到下一个可见项目的句柄);

TVM_EXPAND:展开或折叠指定项目(参数:TVE_EXPAND展开指定项目);

TVM_SELECTITEM:选中指定项目。

利用这些消息和SendMessage()函数,我们可以很容易写出遍历代码。

二:具体实践

在本文所提供的DEMO中,有一段将十六进制字符串转换成十进制无符号长整型的代码,作用是将用户输入的十六进制TV句柄值转换成十进制并存放在变量dec_sum中。此代码不列入本文讨论的范畴,大家不闲弱智的话就将就着用吧。下面是实现遍历功能的关键代码:

1 2 3 4  下一页

Tags:遍历 查找 外部

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接