还有按钮出现后,颜色与PICTURE的颜色不符,无法回复初始(未加载模拟按钮)状态。
请教高手帮忙修改:
一、如何在Form_MouseMove()时恢复原始(未加载模拟按钮时)状态。
二、如何让四边同时带色边,这样才更像一个按钮。
Private Sub DrawButton(ob As Object, an As Integer, tu As Integer)
Dim A As Integer
Dim B As Integer
A = ob.Width
B = ob.Height
ob.Line (0, 0)-(A, 0), QBColor(an)
ob.Line (0, 0)-(0, B), QBColor(an)
ob.Line (A, 0)-(A, B), QBColor(tu)
ob.Line (0, B)-(A, B), QBColor(tu)
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Call DrawButton(Picture10(Index), 15, 0) ' tu
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), 8, 8) ' tu
Next
For k = 0 To 3
Call DrawButton(Picture2(k), 8, 8) ' tu
Next
End Sub
17 个解决方案
#1
Private Sub DrawButton(ob As Object, an As Integer, tu As Integer)
Dim A As Integer
Dim B As Integer
A = ob.Width - Screen.TwipsPerPixelX * 5
B = ob.Height - Screen.TwipsPerPixelX * 5
ob.Line (0, 0)-(A, 0), QBColor(an)
ob.Line (0, 0)-(0, B), QBColor(an)
ob.Line (A, 0)-(A, B), QBColor(tu)
ob.Line (0, B)-(A, B), QBColor(tu)
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), 8, 8) ' tu
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), 8, 8) ' tu
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), 15, 0) ' tu
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), 15, 0) ' tu
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), 8, 8) ' tu
Next
For k = 0 To 3
Call DrawButton(Picture2(k), 8, 8) ' tu
Next
End Sub
Dim A As Integer
Dim B As Integer
A = ob.Width - Screen.TwipsPerPixelX * 5
B = ob.Height - Screen.TwipsPerPixelX * 5
ob.Line (0, 0)-(A, 0), QBColor(an)
ob.Line (0, 0)-(0, B), QBColor(an)
ob.Line (A, 0)-(A, B), QBColor(tu)
ob.Line (0, B)-(A, B), QBColor(tu)
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), 8, 8) ' tu
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), 8, 8) ' tu
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), 15, 0) ' tu
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), 15, 0) ' tu
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), 8, 8) ' tu
Next
For k = 0 To 3
Call DrawButton(Picture2(k), 8, 8) ' tu
Next
End Sub
#2
不提倡为了个按钮花费这么大的代价,时间、精力和代码应该留给功能
#3
修改后效果跟之前没修改一样的呢,是什么问题哦?
#4
希望的是:在MOUSEMOVE移出按钮位置之后,按钮边缘回复无色透明状态。
#5
直接拿pictureBox控件做一个就是了~~轮换切换图片就实现了。
#6
vb6中的按钮没有鼠标移出的触发事件,不过可以退而求其次用变通的办法,鼠标从按钮上移出了那么它肯定会移到其他控件上,例如按钮或者frame什么的,那么就在这些控件的mousemove中处理设置你的模拟按钮的样式。
ps:在vb.net中就有mouseleave事件了。
ps:在vb.net中就有mouseleave事件了。
#7
试过了替换图片是达不到这样好的效果的。
继续请各位大侠看一下:我的picture按钮颜色为天蓝色,但是QBColor(color) color 参数是一个界于 0 到 15 的整型,没有天蓝色。我希望当FORM_MOUSEMOVE时,能够让picture边缘回复天蓝色(与FORM背景色一样的颜色),做到按钮边缘无缝无线条。
#8
用RGB(xxx,yyy,zzz)
可以得到256*256*256种颜色
可以得到256*256*256种颜色
#9
在这里好像没法改成RGB()?
#10
RGB中还有个亮度、饱和度、色度没法加入的。
#11
一般是用Image控件来模拟按钮,代码就几行:
Option Explicit
Private Sub Form_Load()
Image1.Picture = LoadPicture("C:\Background Images\Background_1.gif")
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Picture = LoadPicture("C:\Background Images\Background_1.gif")
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Picture = LoadPicture("C:\Background Images\Background_2.gif")
End Sub
#12
RGB确实可以了。非常感谢。
但是出来一点小问题:当form_mousemove并离开picture_mousemove10(0)到新的按钮picture_mousemove10(1)时,picture_mousemove10(0)的右边和下边还有按钮的边缘颜色,要跨到下下个按钮才能消除。
这个如何解决?是哪里有问题?
Private Sub DrawButton(ob As Object, r As Integer, g As Integer, bs As Integer, rr As Integer, gg As Integer, bb As Integer)
Dim A As Integer
Dim b As Integer
A = ob.Width - Screen.TwipsPerPixelX
b = ob.Height - Screen.TwipsPerPixelX
ob.Line (0, 0)-(A, 0), RGB(r, g, bs)
ob.Line (0, 0)-(0, b), RGB(r, g, bs)
ob.Line (A, 0)-(A, b), RGB(rr, gg, bb)
ob.Line (0, b)-(A, b), RGB(rr, gg, bb)
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), 121, 202, 255, 182, 184, 194)
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), 121, 202, 255, 182, 184, 194)
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), 255, 255, 255, 182, 184, 194)
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), 255, 255, 255, 182, 184, 194)
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), 121, 202, 255, 121, 202, 255) '
Next
For k = 0 To 3
Call DrawButton(Picture2(k), 121, 202, 255, 121, 202, 255) '
Next
End Sub
但是出来一点小问题:当form_mousemove并离开picture_mousemove10(0)到新的按钮picture_mousemove10(1)时,picture_mousemove10(0)的右边和下边还有按钮的边缘颜色,要跨到下下个按钮才能消除。
这个如何解决?是哪里有问题?
Private Sub DrawButton(ob As Object, r As Integer, g As Integer, bs As Integer, rr As Integer, gg As Integer, bb As Integer)
Dim A As Integer
Dim b As Integer
A = ob.Width - Screen.TwipsPerPixelX
b = ob.Height - Screen.TwipsPerPixelX
ob.Line (0, 0)-(A, 0), RGB(r, g, bs)
ob.Line (0, 0)-(0, b), RGB(r, g, bs)
ob.Line (A, 0)-(A, b), RGB(rr, gg, bb)
ob.Line (0, b)-(A, b), RGB(rr, gg, bb)
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), 121, 202, 255, 182, 184, 194)
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), 121, 202, 255, 182, 184, 194)
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), 255, 255, 255, 182, 184, 194)
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), 255, 255, 255, 182, 184, 194)
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), 121, 202, 255, 121, 202, 255) '
Next
For k = 0 To 3
Call DrawButton(Picture2(k), 121, 202, 255, 121, 202, 255) '
Next
End Sub
#13
因为你没给 Picture10 原始的 颜色配置, 边框配置
当然我只能用预设颜色灰色表示
#14
我给你的 边框配置 预设是立体
#15
Private Sub DrawButton(ob As Object, an, tu)
Dim A As Integer
Dim B As Integer
A = ob.Width - Screen.TwipsPerPixelX * 5
B = ob.Height - Screen.TwipsPerPixelX * 5
ob.Line (0, 0)-(A, 0), (an)
ob.Line (0, 0)-(0, B), (an)
ob.Line (A, 0)-(A, B), (tu)
ob.Line (0, B)-(A, B), (tu)
End Sub
Private Sub Form_Load()
Me.BackColor = &HFF9900
For i = 0 To 6
Picture10(i).BorderStyle = 0
Picture10(i).BackColor = Me.BackColor
Next
For i = 0 To 3
Picture2(i).BorderStyle = 0
Picture2(i).BackColor = Me.BackColor
Next
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), Me.BackColor, Me.BackColor) ' tu
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), Me.BackColor, Me.BackColor) ' tu
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), &HDDDDDD, 0) ' tu
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), &HDDDDDD, 0) ' tu
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), Me.BackColor, Me.BackColor) ' tu
Next
For k = 0 To 3
Call DrawButton(Picture2(k), Me.BackColor, Me.BackColor) ' tu
Next
End Sub
Dim A As Integer
Dim B As Integer
A = ob.Width - Screen.TwipsPerPixelX * 5
B = ob.Height - Screen.TwipsPerPixelX * 5
ob.Line (0, 0)-(A, 0), (an)
ob.Line (0, 0)-(0, B), (an)
ob.Line (A, 0)-(A, B), (tu)
ob.Line (0, B)-(A, B), (tu)
End Sub
Private Sub Form_Load()
Me.BackColor = &HFF9900
For i = 0 To 6
Picture10(i).BorderStyle = 0
Picture10(i).BackColor = Me.BackColor
Next
For i = 0 To 3
Picture2(i).BorderStyle = 0
Picture2(i).BackColor = Me.BackColor
Next
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), Me.BackColor, Me.BackColor) ' tu
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), Me.BackColor, Me.BackColor) ' tu
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), &HDDDDDD, 0) ' tu
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), &HDDDDDD, 0) ' tu
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), Me.BackColor, Me.BackColor) ' tu
Next
For k = 0 To 3
Call DrawButton(Picture2(k), Me.BackColor, Me.BackColor) ' tu
Next
End Sub
#16
Mousemove Mousedown MouseUp 制作的 立体感的音效按钮
有兴趣的话可以去下载
【CBM666 的按钮特效】
http://cbm666.net/forum.php?mod=viewthread&tid=1789&fromuid=2
有兴趣的话可以去下载
【CBM666 的按钮特效】
http://cbm666.net/forum.php?mod=viewthread&tid=1789&fromuid=2
#17
如果有懂vc++ 的人 能帮我将这个 VB源代码 转换为vc++ 源码, 对我学习vc++ 将是最大的帮助, 有人愿帮我吗? 在CSDN容许的方式下 我送 2000 分
#1
Private Sub DrawButton(ob As Object, an As Integer, tu As Integer)
Dim A As Integer
Dim B As Integer
A = ob.Width - Screen.TwipsPerPixelX * 5
B = ob.Height - Screen.TwipsPerPixelX * 5
ob.Line (0, 0)-(A, 0), QBColor(an)
ob.Line (0, 0)-(0, B), QBColor(an)
ob.Line (A, 0)-(A, B), QBColor(tu)
ob.Line (0, B)-(A, B), QBColor(tu)
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), 8, 8) ' tu
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), 8, 8) ' tu
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), 15, 0) ' tu
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), 15, 0) ' tu
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), 8, 8) ' tu
Next
For k = 0 To 3
Call DrawButton(Picture2(k), 8, 8) ' tu
Next
End Sub
Dim A As Integer
Dim B As Integer
A = ob.Width - Screen.TwipsPerPixelX * 5
B = ob.Height - Screen.TwipsPerPixelX * 5
ob.Line (0, 0)-(A, 0), QBColor(an)
ob.Line (0, 0)-(0, B), QBColor(an)
ob.Line (A, 0)-(A, B), QBColor(tu)
ob.Line (0, B)-(A, B), QBColor(tu)
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), 8, 8) ' tu
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), 8, 8) ' tu
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), 15, 0) ' tu
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), 15, 0) ' tu
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), 8, 8) ' tu
Next
For k = 0 To 3
Call DrawButton(Picture2(k), 8, 8) ' tu
Next
End Sub
#2
不提倡为了个按钮花费这么大的代价,时间、精力和代码应该留给功能
#3
修改后效果跟之前没修改一样的呢,是什么问题哦?
#4
希望的是:在MOUSEMOVE移出按钮位置之后,按钮边缘回复无色透明状态。
#5
直接拿pictureBox控件做一个就是了~~轮换切换图片就实现了。
#6
vb6中的按钮没有鼠标移出的触发事件,不过可以退而求其次用变通的办法,鼠标从按钮上移出了那么它肯定会移到其他控件上,例如按钮或者frame什么的,那么就在这些控件的mousemove中处理设置你的模拟按钮的样式。
ps:在vb.net中就有mouseleave事件了。
ps:在vb.net中就有mouseleave事件了。
#7
试过了替换图片是达不到这样好的效果的。
继续请各位大侠看一下:我的picture按钮颜色为天蓝色,但是QBColor(color) color 参数是一个界于 0 到 15 的整型,没有天蓝色。我希望当FORM_MOUSEMOVE时,能够让picture边缘回复天蓝色(与FORM背景色一样的颜色),做到按钮边缘无缝无线条。
#8
用RGB(xxx,yyy,zzz)
可以得到256*256*256种颜色
可以得到256*256*256种颜色
#9
在这里好像没法改成RGB()?
#10
RGB中还有个亮度、饱和度、色度没法加入的。
#11
一般是用Image控件来模拟按钮,代码就几行:
Option Explicit
Private Sub Form_Load()
Image1.Picture = LoadPicture("C:\Background Images\Background_1.gif")
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Picture = LoadPicture("C:\Background Images\Background_1.gif")
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Picture = LoadPicture("C:\Background Images\Background_2.gif")
End Sub
#12
RGB确实可以了。非常感谢。
但是出来一点小问题:当form_mousemove并离开picture_mousemove10(0)到新的按钮picture_mousemove10(1)时,picture_mousemove10(0)的右边和下边还有按钮的边缘颜色,要跨到下下个按钮才能消除。
这个如何解决?是哪里有问题?
Private Sub DrawButton(ob As Object, r As Integer, g As Integer, bs As Integer, rr As Integer, gg As Integer, bb As Integer)
Dim A As Integer
Dim b As Integer
A = ob.Width - Screen.TwipsPerPixelX
b = ob.Height - Screen.TwipsPerPixelX
ob.Line (0, 0)-(A, 0), RGB(r, g, bs)
ob.Line (0, 0)-(0, b), RGB(r, g, bs)
ob.Line (A, 0)-(A, b), RGB(rr, gg, bb)
ob.Line (0, b)-(A, b), RGB(rr, gg, bb)
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), 121, 202, 255, 182, 184, 194)
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), 121, 202, 255, 182, 184, 194)
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), 255, 255, 255, 182, 184, 194)
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), 255, 255, 255, 182, 184, 194)
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), 121, 202, 255, 121, 202, 255) '
Next
For k = 0 To 3
Call DrawButton(Picture2(k), 121, 202, 255, 121, 202, 255) '
Next
End Sub
但是出来一点小问题:当form_mousemove并离开picture_mousemove10(0)到新的按钮picture_mousemove10(1)时,picture_mousemove10(0)的右边和下边还有按钮的边缘颜色,要跨到下下个按钮才能消除。
这个如何解决?是哪里有问题?
Private Sub DrawButton(ob As Object, r As Integer, g As Integer, bs As Integer, rr As Integer, gg As Integer, bb As Integer)
Dim A As Integer
Dim b As Integer
A = ob.Width - Screen.TwipsPerPixelX
b = ob.Height - Screen.TwipsPerPixelX
ob.Line (0, 0)-(A, 0), RGB(r, g, bs)
ob.Line (0, 0)-(0, b), RGB(r, g, bs)
ob.Line (A, 0)-(A, b), RGB(rr, gg, bb)
ob.Line (0, b)-(A, b), RGB(rr, gg, bb)
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), 121, 202, 255, 182, 184, 194)
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), 121, 202, 255, 182, 184, 194)
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), 255, 255, 255, 182, 184, 194)
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), 255, 255, 255, 182, 184, 194)
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), 121, 202, 255, 121, 202, 255) '
Next
For k = 0 To 3
Call DrawButton(Picture2(k), 121, 202, 255, 121, 202, 255) '
Next
End Sub
#13
因为你没给 Picture10 原始的 颜色配置, 边框配置
当然我只能用预设颜色灰色表示
#14
我给你的 边框配置 预设是立体
#15
Private Sub DrawButton(ob As Object, an, tu)
Dim A As Integer
Dim B As Integer
A = ob.Width - Screen.TwipsPerPixelX * 5
B = ob.Height - Screen.TwipsPerPixelX * 5
ob.Line (0, 0)-(A, 0), (an)
ob.Line (0, 0)-(0, B), (an)
ob.Line (A, 0)-(A, B), (tu)
ob.Line (0, B)-(A, B), (tu)
End Sub
Private Sub Form_Load()
Me.BackColor = &HFF9900
For i = 0 To 6
Picture10(i).BorderStyle = 0
Picture10(i).BackColor = Me.BackColor
Next
For i = 0 To 3
Picture2(i).BorderStyle = 0
Picture2(i).BackColor = Me.BackColor
Next
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), Me.BackColor, Me.BackColor) ' tu
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), Me.BackColor, Me.BackColor) ' tu
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), &HDDDDDD, 0) ' tu
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), &HDDDDDD, 0) ' tu
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), Me.BackColor, Me.BackColor) ' tu
Next
For k = 0 To 3
Call DrawButton(Picture2(k), Me.BackColor, Me.BackColor) ' tu
Next
End Sub
Dim A As Integer
Dim B As Integer
A = ob.Width - Screen.TwipsPerPixelX * 5
B = ob.Height - Screen.TwipsPerPixelX * 5
ob.Line (0, 0)-(A, 0), (an)
ob.Line (0, 0)-(0, B), (an)
ob.Line (A, 0)-(A, B), (tu)
ob.Line (0, B)-(A, B), (tu)
End Sub
Private Sub Form_Load()
Me.BackColor = &HFF9900
For i = 0 To 6
Picture10(i).BorderStyle = 0
Picture10(i).BackColor = Me.BackColor
Next
For i = 0 To 3
Picture2(i).BorderStyle = 0
Picture2(i).BackColor = Me.BackColor
Next
End Sub
Sub Picture10_LostFocus(Index As Integer)
Call DrawButton(Picture10(Index), Me.BackColor, Me.BackColor) ' tu
End Sub
Sub Picture2_LostFocus(Index As Integer)
Call DrawButton(Picture2(Index), Me.BackColor, Me.BackColor) ' tu
End Sub
Private Sub Picture10_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture10(Index).SetFocus
Call DrawButton(Picture10(Index), &HDDDDDD, 0) ' tu
End If
End Sub
Private Sub Picture2_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 1 Then
Picture2(Index).SetFocus
Call DrawButton(Picture2(Index), &HDDDDDD, 0) ' tu
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
For i = 0 To 6
Call DrawButton(Picture10(i), Me.BackColor, Me.BackColor) ' tu
Next
For k = 0 To 3
Call DrawButton(Picture2(k), Me.BackColor, Me.BackColor) ' tu
Next
End Sub
#16
Mousemove Mousedown MouseUp 制作的 立体感的音效按钮
有兴趣的话可以去下载
【CBM666 的按钮特效】
http://cbm666.net/forum.php?mod=viewthread&tid=1789&fromuid=2
有兴趣的话可以去下载
【CBM666 的按钮特效】
http://cbm666.net/forum.php?mod=viewthread&tid=1789&fromuid=2
#17
如果有懂vc++ 的人 能帮我将这个 VB源代码 转换为vc++ 源码, 对我学习vc++ 将是最大的帮助, 有人愿帮我吗? 在CSDN容许的方式下 我送 2000 分