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

2008-02-23 06:39:11来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  简介

  ctlExplorerBar控件一个可以实现类似Windows XP资源管理器中右侧垂直栏的控件,它不仅可以创建不同的菜单组、在菜单组下添加项目,还可以为每一个项目编写感应事件,同时它更是可以实现图片的预览,简直和资源管理器的垂直栏一样!在许多软件界面中,它都可以发挥非常好的作用。

  

  应用实例

  想让你的程序更加吸引眼球吗?想在你的程序中打造像Windows XP资源管理器左侧那样的垂直栏吗?只要在你的程序中加上ctlExplorerBar控件,通过几段简单的代码,就可以轻松实现这个似乎复杂的界面效果,完全使你抛弃了繁杂的代码!这个控件不仅容易使用,而且它实现的界面效果非常出色,完全和Windows XP中一样(如图1)。 下面我们就结合一个实例来说明使用方法,相信它的简单易用和出色效果会让你动心!


  要了解该控件强大便捷的功能,下面我们就通过一个实例来讲解。

  第一步:首先启动Visual Basic 6.0,新建一个窗口。
  
  第二步:加载ctlExplorerBar控件。

  ①在控件工具栏中单击右键,选择“部件”,在弹出的窗口中点击“浏览”,找到ctlExplorerBar控件,载入它,命名为“XPmenu”;把它放到Form1窗体中任意位置即可。其他属性保持默认即可。

  第三步:加载其他控件,完成界面的设置。

  ①添加四个Image控件,分别命名imgDesktop、imgShare、imgComputer和imgNetwork,用来加载如图1所示的“桌面其他”分栏下四个项前的小图标。为这四个Image控件分别载入适当的小图标(如图2)。


  ②再添加一个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,然后添加分栏时候使用如下代码:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:VB开发应用软件之写在动手之前

下一篇:Viusal Basic程序员的.NET泛型编程