我们经常能在网上看到有一些热区图片,所谓热区图片,就是在一幅大图片中包含许多区域(热区),单击每个区域会链接到不同的页面,热区最典型的应用应该是地图了。
这里我们使用VB5制作热区图片,编程的思路是这样的:首先在窗体上放置一个PictureBox控件,在其中装载一幅图片,作为热区的背景图片,然后再在PictureBox控件上放置几个Image控件,作为“热区”——每个Image控件对应一个热区,接下来要做的事就是在Image控件的单击事件中加入触发代码,以使用户单击热区时程序会有不同的反映。我们不妨就借鉴网络图片热区的样子,在单击不同的热区时链接到不同的网页。
由于程序中牵涉到链接网页,所以还需要一个浏览器控件:WebBrowser,你可以这样加载它:在控件箱的空白处单击鼠标右键,弹出快捷菜单,选择“部件”菜单项,出现“部件”对话框,选择对话框中的“控件”标签,在其下的列表框中复选Microsoft Interner Controls,确定退出,此时控件工具箱中就多了一个地球图标,它就是我们需要的浏览器控件WebBrowser,为了使用户在将鼠标移动到不同的热区上会有提示出现,还可以在窗体中加入一个状态栏控件StatusBar,这个控件位于“部件”对话框中的Microsoft Windows Common Controls 5.0中。
在这个程序中,设置3个热区,也就是需要3个Image控件,这三个热区分别将用户链接到“上海热线”、“新浪”和“中国雅虎”的主页上,编程之前,在PictureBox控件的属性对话框中为Picture指定一幅图片、将Form1的MaxButton属性指定为False、把3个Image控件的MousePointer属性都改成99,并为MouseIcon属性指定成手形,以便告知用户“这里有一个链接存在”。其余控件的属性都用缺省值,设计好的界面如图所示。
以下是程序清单:
Private Sub Form_Load()
Picture1.AutoSize=True
WebBrowser1.Left=0
WebBrowser1.Top=0
WebBrowser1.Width=Me.Width-200
StatusBar1.Style=sbrSimple
StatusBar1.SimpleText="热区范例"
Me.Caption="Hotarea"
End Sub
Private Sub Image1_Click()
WebBrowser1.Navigate "www.online.sh.cn"
End Sub
Private Sub Image1_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)
StatusBar1.SimpleText="上海热线"
End Sub
Private Sub Image2_Click()
WebBrowser1.Navigate "www.sina.com.cn"
End Sub
Private Sub Image2_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)
StatusBar1.SimpleText="新浪"
End Sub
Private Sub Image3_Click()
WebBrowser1.Navigate "http://cn.yahoo.com/"
End Sub
Private Sub Image3_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)
StatusBar1.SimpleText="中国雅虎"
End Sub
Private Sub Picture1_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)
StatusBar1.SimpleText="热区范例"
End Sub(上海 钱可栋)
……