C#(CSharp) | VC/C++ | ASP(ASP.NET) | SQL Server | OpenGL | CMM | 网站开发SEO | 数控技术 | 地理信息系统 | WINDOWS操作系统 |
联高软件 > 技术文档 > VB_ASP_VB.NET > 用VISUAL BASIC设计三维图形按钮 VB_ASP_VB.NET软件开发参考文档

用Visual Basic设计三维图形按钮

发表:联高软件www.legalsoft.com.cn,本文被阅读:3970

摘要:文章:用Visual Basic设计三维图形按钮 摘要:VisualBasic是一种非常有效的编程工具,它简单易学,功能强大。世界上百分之八十的Windows应用程序都是用它编,发表于北京联高软件有限公司技术文章栏目,代码以高亮显示。
关键字:basic, 三维, 按钮, visual, 设计, 图形, br, sub, 窗口, single, bmp, integer, end, 格式, 提示, 鼠标, 信息, picture

Visual Basic是一种非常有效的编程工具,它简单易学,功能强大。世界上百分之八十的Windows应用程序都是用它编写的。本文仅在这里讨论怎样用Visual Basic编制一个三维图形动态按钮。
  三维动态按钮,就是在窗口中凸起显示的按钮。当用鼠标点击它时,变为凹下显示,当鼠标按键松开时,又恢复为凸起显示。还可以为它设计一个提示信息,当鼠标移至按钮上面时,显示在窗口的下端。Visual Basic下的Command控件虽然也是三维显示的,但可惜不能在按钮上设置图案。
  首先,需要两个图标,这两个图标图案一样,只是一个为凸起显示,另一个为凹下显示。凸起显示的图标左、上两边线为亮线条,右、下两边线为暗线条。凹下显示的图标则刚好相反。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。三维按钮事件的过程程序可以有两种方法编程:
1. 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
另一种方法是:
2. 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
  现在,我们已经编好了一个漂亮的三维图形动态按钮。你也试试看 [VB_ASP_VB.NET] EXCEL合并文件及合并工作表(工作薄)的通用方法[原创] (9712)
[VB_ASP_VB.NET] 树型结构在ASP中的简单解决 (3966)
[VB_ASP_VB.NET] 限制只能中文输入的方法 (3780)
[VB_ASP_VB.NET] ASP.Net写追捕方法 (2500)
[VB_ASP_VB.NET] 五种常见的ASP.NET安全缺陷 (2920)
[VB_ASP_VB.NET] Web开发框架中的架构模式比较(一) (4534)
[VB_ASP_VB.NET] 使用ASP.NET 2.0 输出缓存替换的功能实现“甜圈缓存(Donut Caching)” (2601)
[VB_ASP_VB.NET] Web开发框架中的架构模式比较(四) (4601)
[VB_ASP_VB.NET] 在ASP.NET中动态创建柱状图和饼图 (2684)
[VB_ASP_VB.NET] 关于ASPNET在IIS中的经验总结 (3147)
[VB_ASP_VB.NET] 用VB制作网络搜索软件 (3444)
[VB_ASP_VB.NET] 用ASP实现中英文字体的自动选择 (3643)
[VB_ASP_VB.NET] 利用ASP实现事务处理的方法 (3232)
[VB_ASP_VB.NET] 在 Web 窗体页之间传递值 (3658)
[VB_ASP_VB.NET] asp重定向 (3537)
[VB_ASP_VB.NET] ASP.NET HTTP运行时组成详解 (2290)
[VB_ASP_VB.NET] 超酷三维汉字特效 (3976)
[VB_ASP_VB.NET] 利用自定义分页技术提高数据库性能 (3607)
[VB_ASP_VB.NET] 不用 EOF 以加快记录循环(vb) (3188)
[VB_ASP_VB.NET] ASP.NET中用healthMonitor属性用法 (2820)

www.315soft.com