WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院软件开发VB 制作VB另类按钮 阅读

制作VB另类按钮

 2006-02-27 21:08:57 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閻忔氨鈧凹鍓熷娲垂椤曞懎鍓伴梺閫炲苯澧紒澶婄秺瀵濡歌閸嬫捇妫冨☉娆忔殘闂佷紮缍€娴滎剟鍩€椤掑倹鏆柛瀣躬瀹曚即寮借閺嗭箓鏌ㄩ悤鍌涘
核心提示:如果你看腻了VB的中规中矩的按钮,有时想改变一下的话,制作VB另类按钮,本文或许对你有所启发,以下二例用Line方法结合其它手段,请在窗体上缺省绘制一个1000*700的PictureBox控件,PrivateSubForm_Load()DimkAsIntegerPicture1.AutoRedraw=TrueMe.A
如果你看腻了VB的中规中矩的按钮,有时想改变一下的话,本文或许对你有所启发。以下二例用Line方法结合其它手段,在窗体上绘制出别具一格的“按钮”,呵呵,还是有那么一点儿新意的(怎么象是吹牛?)。建议在不需要太多的按钮的窗体中使用。

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

PRivateSubForm_Load()

Me.AutoRedraw=True
CurrentX=280:CurrentY=150
Me.Print"Exit"
Me.Caption="请将鼠标移近文字观察效果"
EndSub

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=1Then
IfX<=900AndX>=100AndY<=500AndY>=100Then
End
EndIf
EndIf
EndSub

PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

IfX<=900AndX>=100AndY<=500AndY>=100Then
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="请将鼠标移近文字观察效果"
EndIf

EndSub

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

PrivateSubForm_Load()

DimkAsInteger
Picture1.AutoRedraw=True
Me.AutoRedraw=True

'绘制出灰度的效果
Fork=0To20
RectPicture1,5*k,5*k,Picture1.ScaleWidth-10*k,Picture1.ScaleHeight-10*k,RGB(255-5*k,255-5*k,255-5*k)
Nextk

Picture1.CurrentX=250:Picture1.CurrentY=250
Picture1.Print"Hello"

EndSub

'绘制矩形
SubRect(objAsObject,XAsInteger,YAsInteger,iWAsInteger,iHAsInteger,iCAsLong)
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
EndSub

'鼠标在窗体移动时按钮保持灰度的原貌
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Fork=0To20
RectPicture1,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"
Nextk
EndSub

'鼠标移动到图片框时按钮形状发生变化:底色为深色,按钮周边带色彩边框,文字变色
PrivateSubPicture1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
DimkAsInteger
Fork=0To20
RectPicture1,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
EndSub->

Tags:制作 VB 另类

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接