ccidnet????

出版日期:1999-08-09 总期号:847 本年期号:57

本期导读
要闻综合
电脑工作室
市场
硬件
软件
infotimes
用treevies控件制作网址管理器

张建宇

  对网友们来说,网址的收集不仅烦琐,而且上网时一个个地输入还浪费了宝贵的时间。笔者用vb5 的treeview控件结合access数据库开发了一个简单易用的网址资源管理器,它可以分类对网址进行收集,上网操作类似于windows的资源管理器。下面给出具体的制作步骤和程序代码:

  一、首先建立一个名为website.mdb的access数据库; 其次以你所定义的网址类型为表名在数据库中建立表,每个表中均包含两个数据类型为文本的字段webname和webaddress;最后将你所收集的网址分类型输入到各个表中。

  二、启动vb5,选择“工程”选单中“引用...”命令,打开“引用”对话框,选定microsoft dao 3.5 object library和microsoft internet controls复选框,添加对数据访问对象 dao 和internetexplorer的引用。

  三、建立一个新的工程website,在窗体form1中创建具有以下属性的两个控件:

控件 name
treeview tvwdb
imglist imlicons

  在imglist控件中填充适当的图像作为treeview控件节点的图像,如本例所用的是vb cd-rom 的 \tools\bitmaps\outline目录下的closed、leaf、open位图,并将imagelist 控件与 treeview 控件关联起来。

  四、为窗体加载事件编写如下代码:

  dim db as database

  dim mnode as node

  private sub form—load()

   set db = dbengine.workspaces(0). opendatabase("website.mdb")

   tvwdb.sorted = true

   set mnode = tvwdb.nodes.add()

   mnode.text = ″网址大观″

   mnode.tag = db.name

   mnode.image = ″closed″

   dim tbl as tabledef

   dim rstbl as recordset

   dim intindex as integer

   for each tbl in db.tabledefs

   if left(tbl.name, 4) 〈〉 ″msys″ and left(tbl.name, 4) 〈〉 ″usys″ then ′access 数据库还包含几个系统表格,它们以msys和usys开头,使用时需用if语句忽略这些表格

   set mnode = tvwdb.nodes.add(1, tvwchild)

   mnode.text = tbl.name

   mnode.tag = ″tblname″

   mnode.image = ″closed″

   intindex = mnode.index

  set rstbl = db.openrecordset(tbl.name, dbopendynaset)

   rstbl.movefirst

   do until rstbl.eof

  set mnode = tvwdb.nodes.add(intindex, tvwchild)

   mnode.text = rstbl!webname & ″ ″ & rstbl!webaddress

   mnode.tag = ″site″

   mnode.image = ″leaf″

   rstbl.movenext

   loop

   end if

   next

  end sub

  五、为treeview控件节点的合并、展开和单击事件编写如下代码:

  private sub tvwdb_collapse(byval node as node)

   if node.tag = db.name or node.index = 1 then node.image = ″closed″

   if node.tag = ″tblname″ then node.image = ″closed″

  end sub

  private sub tvwdb_expand(byval node as node)

   if node.tag = db.name or node.index = 1 then

   node.image = ″open″

   end if

   if node.tag = ″tblname″ then

   node.image = ″open″

   end if

  end sub

  private sub tvwdb_nodeclick(byval node as node)

   dim weburl as string

   dim i as integer

   dim ie as new internetexplorer

   if node.tag = ″site″ then

   i = instr(node.text, ″:″)

   weburl = ″http″ & mid(node.text, i)

   ie.visible = true

   ie.navigate weburl

   end if

  end sub

  运行程序,用鼠标单击展开树形目录,单击最后一层的网址,系统将自动启动浏览器进行浏览。现在你就可以自由自在地在网上畅游了,同时你可以自己打开website.mdb数据库,添加、删除和修改网址,以保证你的网址资料的准确及时。怎么样,还不快试试。