您现在的位置: 天下网吧 >> 网吧天地 >> 天下码农 >> 编程界 >> 正文

VB第三方控件实现XP资源管理器垂直栏

2006-12-16天极网第七乐章

 ②再添加一个Image控件,载入一副图片,用来演示如何实现图像预览的功能。

  这个演示程序在界面和属性设置上都非常的简单,只要把控件放在界面上任意位置即可,不需要设置属性。ctlExplorerBar的位置我们可以在程序运行时进行调整。上面说到的图片我们使用了Image控件来加载,当然你喜欢的话也可以用Picture控件或者是ImageList控件来加载,它们实现的效果是一样的。如果用Picture控件,别忘了把其Autosize属性设置为True。

  到这里就完成了这个演示程序的界面设置,接着进行代码的编写。

  第三步:编写代码,实现界面演示。

  ①编写Form1的Load事件,使程序启动时调整ctlExplorerBar的位置,并且载入相应的分栏和项目等。代码如下:

Private Sub Form_Load()

  XPmenu.Top = 0
  XPmenu.Left = 0
  XPmenu.Width = Me.Width

  XPmenu.AddNormalItem "文件和文件夹任务", False
   XPmenu.AddSubItem 1, "重命名这个文件", imgDesktop.Picture
   ’……
   ’依照上面的格式,可以在该分栏下添加更多的项
  XPmenu.AddNormalItem "其他位置"
   XPmenu.AddSubItem 2, "桌面", imgDesktop.Picture
   XPmenu.AddSubItem 2, "共享文档", imgShare.Picture
   XPmenu.AddSubItem 2, "我的电脑", imgComputer.Picture
   XPmenu.AddSubItem 2, "网上邻居", imgNetwork.Picture
  XPmenu.AddDetailItem "详细信息", "MyPicture1.jpg", "JPEG 图像" & vbCrLf & "尺寸: 100 x 100" & vbCrLf & "大小: 12.5 kB" & vbCrLf & "修改时间: 2005-09-10 14:46", imgCan.Picture

End Sub

  现在你马上就可以按下F5预览一下效果了,是不是很容易?别心急,我们再来分析下上面的代码,更好的掌握其的使用方法。

  分析上面的代码中,很容易可以知道要添加普通分栏的话,只要使用控件的AddNormalItem方法,后面跟上分栏的标题即可。该方法的第二个参数默认值为True,如果设置为False,那么这个分栏显示时是收起的,在上面的图1中可以看到效果。

  有了分栏后我们可以在其下添加项,通过AddSubItem方法即可。在第一个参数中,输入其所属分栏的序号,第二个和第三个参数分别是标题和图标。

  要实现带有图片预览功能的分栏,可以AddDetailItem方法,其参数格式是:(分栏标题,图片信息说明,图片源)。需要注意的是,这种的分栏不能添加下属项。

  ②添加窗体改变大小的事件,实现控件同步改变。

Private Sub Form_Resize()
 XPmenu.Height = Me.ScaleHeight
End Sub

  当窗体的大小发生改变时候,同时也自动改变ctlExplorerBar的大小。通常只是改变ctlExplorerBar显示的高度,而宽度是不改变的,就像XP资源管理器中一样。

  第四步:编写代码,实现ctlExplorerBar的事件相应。

  ①编写ctlExplorerBar的分栏的打开、收起事件,代码如下:

Private Sub XPmenu_Collapse(ByVal Index As Integer)
 Me.Caption = "收起 " & Index
End Sub

Private Sub XPmenu_Expand(ByVal Index As Integer)
 Me.Caption = "展开 " & Index
End Sub

  从上面的代码中我们可以看到,ctlExplorerBar提供了两个点击的事件,在这里的示例中我们把事件的相应放映在窗体标题栏中,当点击分栏时候,窗体标题栏就会显示收起或者展开哪一个分栏。

  ②添加点击分栏中项目的事件。

Private Sub XPmenu_SubItemClick(ByVal Index As Integer, ByVal SubItemIndex As Integer)
 Me.Caption = "单击 " & Index & " 在 " & SubItemIndex & " (" & XPmenu.SubItem(Index, SubItemIndex) & ")"
 Me.Icon = XPmenu.SubItemIcon(Index, SubItemIndex)
End Sub

  当用户点击分栏中的某个项目时,窗体的标题栏显示项目的Index以及其所在分栏。上面的代码告诉你怎样使用项目的点击响应,对于你的实际应用是很有用的。

  到这里,这个演示程序就完成了,按下F5,你就可以看到如图1一样的效果了。

  另外,ctlExplorerBar还支持标题分栏标题图片和背景,同样只要用两个Image控件载入两幅图片,这里我们命名为imgImages和imgBack,然后添加分栏时候使用如下代码:

XPmenu.AddNormalItem "分栏示例", True, imgImages.Picture, imgBack.Picture

  运行程序后我们可以看到实际的效果,多了标题图片和背景(如图3),是不是更漂亮呢?再试一试用AddSpecialItem方法来添加分栏,会有不一样的效果哦:-)


  有了ctlExplorerBar控件,我们可以很方便地做出漂亮美观的界面,可以应用在信息显示、导航等应用中,相信可以为你的程序添加更多的方便和亮点!

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩

本文来源:天极网 作者:第七乐章

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下