VB实现按钮浮动效果

2016-02-19 21:08 31 1 收藏

下面,图老师小编带您去了解一下VB实现按钮浮动效果,生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - 编程语言 】

微软的VisualBasic确实是个好东西,编写应用程序快捷高效。但是入门容易,想玩转它可不简单。我个人学VB就深有体会:一个人在VB的殿堂里摸索是何等的辛苦啊!有时为了一个特技、一句代码甚至一个变量要反复调试运行几十遍,也未必能通过,真恨不得一枪崩了VB。所以,我连这一点点小技巧都不敢独品,拿出来与大家共享,也算抛砖引玉,引出更多、更精彩的奇思妙文,以“飨”读者。
  关于浮动按钮的实现思路不少,多是采取多图片重叠显示来实现。这种方法代码量多,实现起来较繁琐。因为,一个按钮还好,如果有十个按钮呢?一个按钮三个图片,十个就要三十个图片,可不是闹着玩的。
  我的思路是:
  舍弃CommandButton控件,每个按钮用4条Line控件和一个Label控件替代。4条Line围住Label的边缘,调入窗体时,置显示属性为False,并将左、上直线的颜色设为白色,右、下直线的颜色设为黑色。当鼠标移到Label上时,4条Line的显示属性置True;当鼠标离开按钮时,将4条Line的显示属性设置为False。这样在视觉上就完全得到立体浮动的效果。另外,VB的Line控件还支持直线倾斜,以此类推,完全可以做出更加美观的倾斜按钮。篇幅所限,下面仅给出一个按钮实现浮动效果的源代码。
  OptionExplicit
  PrivateSubForm_Load()
  '初始Form与Label
  Form1.Caption=“浮动按钮"
  Form1.KeyPreview=False
  label1.Caption=“确定"
  '初始4条Line的显示属性为False
  Line1.Visible=False
  Line2.Visible=False
  Line3.Visible=False
  Line4.Visible=False
  '初始4条Line的颜色
  Line1.BorderColor=&HE0E0E0
  Line2.BorderColor=&HE0E0E0
  Line3.BorderColor=&H808080
  Line4.BorderColor=&H808080
  EndSub
  PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  '鼠标指针在窗体上(不在按钮上)时,置4条Line的显示属性为False
  Line1.Visible=False
  Line2.Visible=False
  Line3.Visible=False
  Line4.Visible=False
  EndSub
  PrivateSublabel1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  '鼠标指针在按钮上时,置4条Line的显示属性为True
  Line1.Visible=True
  Line2.Visible=True
  Line3.Visible=True
  Line4.Visible=True
  EndSub->

来源:https://www.tulaoshi.com/n/20160219/1625343.html

延伸阅读
标签: Delphi
  在Win95中,当我们将鼠标移至某个控件上时,便会在鼠标所指之处弹出一个小窗口,告诉我们这个控件的用途,这便是“浮动提示”。这种提示方式可以及时地提供有关信息,那么怎样在VB中实现这种功能呢?     首先我们在Form的任意位置放一个Text1作为浮动提示的通用文本显示框,几个重要属性设置为:     ...
标签: Web开发
在写HTML代码的时候,发现在Firefox等符合W3C标准的浏览器中,如果有一个DIV作为外部容器,内部的DIV如果设置了float样式,则外部的容器DIV因为内部没有clear,导致不能被撑开。看下面的例子: HTML4STRICT代码:div style="width:200px;border:1px solid red;"    div style="float:left;width:80px;height:...
Type POINTAPI x As Long y As LongEnd TypeDeclare Function GetCursorPos Lib "user32" Alias "GetCursorPos" _ (lpPoint As POINTAPI) As Long'隐藏MousePublic Sub toHideCursor()ShowCursor 0End Sub'显示MousePublic Sub toShowCursor()ShowCursor 1End Sub
首先,在主窗体上生成两个大小一样的按钮Command1和Command2,将它们的Style属性都设成1-Graphical,将Command1的Picture属性设为d:vbicomail01a.ico(变化前的图案,一个关闭的信封),将Command2的Picture属性设为d:vbicomail101b.ico(变化后的图案,一个打开的信封)。 其次,在主窗体的PrivateSubForm-load()中加入以下代码: Form1....
'*ModuleName:Start_Module '*ModuleFilename:Start.bas '********************************************************* '*Comments:Show/Hidethestartbutton '******************************************************** PrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"(ByVallpClassN...

经验教程

925

收藏

15
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部