用VB设计三维图形按钮 三维动态按钮，就是在窗口中凸起显示的按钮。当用鼠标点击它时，变为凹下显示，当鼠标按键松开时，又恢复为凸起显示。还可以为它设计一个提示信息，当鼠标停留在按钮上面时，显示在窗口的下端。 首先，需要两个图标，这两个图标图案一样，只是一个为凸起显示，另一个为凹下显示。凸起显示的图标左、上两边线为亮线条，右、下两边线为暗线条。凹下显示的图标则刚好相反。Visual Basic已经在VB\BITMAPS\TOOLBAR3子目录下为用户准备了一些现成的三维按钮。如果它们不能满足你的愿望，就需要自己设计图标了。图标可以用Windows的画笔软件Paint制作成BMP位图文件，也可以用Borland C下的Work Shop软件制作成ICO图标文件。建议大家用前者，这样更灵活方便一些。不过，千万记着将图案缩放至所需要的大小(用鼠标箭头点住位图四周几个边界缩放点拖动即可)。否则，你的按钮可能大的将充满整个格式窗口。较简单的方法是打开一个Visual Basic现有的三维位图，在上面大肆修改以后，换一个文件名存盘。假定，你的凸显位图文件名为3D-up.bmp。凹显位图文件名为3D-dwn.bmp。
现在来设计三维按钮控件。Image控件和Picture控件均可用于制作三维按钮。但Image控件效果较好一些。假设你的三维按钮控件名为Image1。设置其Picture属性为C:\....\3D－up.bmp。三维按钮事件的过程程序可以有两种方法编程：
Sub Image1_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
image1.Picture = LoadPicture("C:\......\3D－up.bmp")
End Sub
Sub Image1_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
image1.Picture = LoadPicture("C:\......\3D－dwn.bmp")
End Sub
Sub Image1_Click ()
[用户按钮执行程序]
......
......
End Sub

另一种方法是：
Sub Image1_Click ()
image1.Picture = LoadPicture("C:\......\3D－dwn.bmp")
[用户按钮执行程序]
......
......
image1.Picture = LoadPicture("C:\......\3D－up.bmp")
End Sub
如有必要，可参照上面程序再编制一个双击按钮事件过程。
当鼠标移到按钮上面时，在格式窗口下端显示一行提示信息的设计方法是：在格式窗口最底部增加一个标签控件Label1，设置其Caption属性为空。编制按钮事件过程如下：
Sub Image3_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.Caption = "<提示信息......>"
End Sub
别忘了当鼠标移出按钮时擦掉提示信息。编制格式事件过程：
Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.Caption = ""
End sub
除非你把格式边界类型BorderStyle定义为0－None、3－Fixed double类型或者1－Fixed Single类型外加取消最大化按钮和最小化按钮(将格式的MaxButton、MinButton属性设置为False)。否则，当用户改变格式窗口大小时，你的提示信息有可能不在窗口的底部、或者短于窗口宽度甚至丢失，所以提示信息的位置和长度应随着窗口的变化而改变。具体编程如下：
Sub Form_Resize ()
label1.Top = scaleheight － label1.Height
label1.Width = scalewidth
End Sub
现在，我们已经编好了一个漂亮的三维图形动态按钮。你也试试看。

(王薇)