分享
 
 
 

制作VB另类按钮

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

如果你看腻了VB的中规中矩的按钮,有时想改变一下的话,本文或许对你有所启发。以下二例用Line方法结合其它手段,在窗体上绘制出别具一格的“按钮”,呵呵,还是有那么一点儿新意的(怎么象是吹牛?)。建议在不需要太多的按钮的窗体中使用。

例一:用Line方法制作初始时为平面、鼠标移到时突出的按钮,此类按钮其实更象是第一层菜单,可为之通过Form_MouseDown或者Form_MouseUp编写类似于Click的事件。当然了,用标签+线条或者+ImageBox来实现更简单些。

Private Sub Form_Load()

Me.AutoRedraw = True

CurrentX = 280: CurrentY = 150

Me.Print "Exit"

Me.Caption = "请将鼠标移近文字观察效果"

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 1 Then

If X <= 900 And X >= 100 And Y <= 500 And Y >= 100 Then

End

End If

End If

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If X <= 900 And X >= 100 And Y <= 500 And Y >= 100 Then

Me.Caption = "左键单击按钮退出程序"

Line (100, 100)-(100, 400), vbWhite

Line (100, 100)-(800, 100), vbWhite

Line (100, 400)-(800, 400), vbBlack

Line (800, 100)-(800, 425), vbBlack ’多出25是为了让右下角更封闭

Me.ForeColor = vbBlue

CurrentX = 280: CurrentY = 150

Me.Print "Exit"

Else

Me.Cls

CurrentX = 280: CurrentY = 150

Me.ForeColor = vbBlack

Me.Print "Exit"

Me.Caption = "请将鼠标移近文字观察效果"

End If

End Sub

例二:用Line方法结合PictureBox(作按钮容器用)制作有立体感的按钮,很Cool哟。要试用本例,请在窗体上缺省绘制一个1000*700的PictureBox控件。

Private Sub Form_Load()

Dim k As Integer

Picture1.AutoRedraw = True

Me.AutoRedraw = True

’绘制出灰度的效果

For k = 0 To 20

Rect Picture1, 5 * k, 5 * k, Picture1.ScaleWidth - 10 * k, Picture1.ScaleHeight - 10 * k, RGB(255 - 5 * k, 255 - 5 * k, 255 - 5 * k)

Next k

Picture1.CurrentX = 250: Picture1.CurrentY = 250

Picture1.Print "Hello"

End Sub

’绘制矩形

Sub Rect(obj As Object, X As Integer, Y As Integer, iW As Integer, iH As Integer, iC As Long)

obj.Line (X, Y)-(X + iW, Y), iC

obj.Line -Step(0, iH), iC

obj.Line -Step(-iW, 0), iC

obj.Line -Step(0, -iH), iC

End Sub

’鼠标在窗体移动时按钮保持灰度的原貌

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

For k = 0 To 20

Rect Picture1, 5 * k, 5 * k, Picture1.ScaleWidth - 10 * k, Picture1.ScaleHeight - 10 * k, RGB(255 - 5 * k, 255 - 5 * k, 255 - 5 * k)

Picture1.ForeColor = vbBlack

Picture1.CurrentX = 250: Picture1.CurrentY = 250

Picture1.FontBold = False

Picture1.Print "Hello"

Next k

End Sub

’鼠标移动到图片框时按钮形状发生变化:底色为深色,按钮周边带色彩边框,文字变色

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim k As Integer

For k = 0 To 20

Rect Picture1, 5 * k, 5 * k, Picture1.ScaleWidth - 10 * k, Picture1.ScaleHeight - 10 * k, RGB(8 * k, 12 * k, 8 * k)

Picture1.ForeColor = vbRed

Picture1.CurrentX = 250: Picture1.CurrentY = 250

Picture1.Print "Hello"

Next

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有