在许多Windows软件的安装程序中,时常可以看到以某种颜色由浅至深的渐变为背景的窗口。使用VB制作这类窗口的方法有不少,而通过调用API函数绘制渐变的窗口背景色,似乎是一种既简单又节省资源的方法。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)首先,在module文件中加入下列声明语句:
Declare Function CreateSolidBrush Lib"GDI"(ByVal _crColor As Long) As Integer Declare Function FillRect Lib"USER"(ByVal hDC As _Integer,lpRect As RECT,ByVal hBrush As Integer)As Integer Declare Function DeleteObject Lib"GDI"(ByVal hObject _As Integer)As Integer Type RECT left As Integer top As Integer right As Integer bottom As Integer EndType
然后,在窗口的Paint事件中加入下列代码:
Private Sub Form_Paint() Dim Color As Integer Dim hBrush As Integer Dim OldMode As Integer Dim RetVal As Integer Dim StepSize As Integer Dim X As Integer Dim FillArea As RECT OldMode%=Me.ScaleMode Me.ScaleMode=3 StepSize%=1+Me.ScaleHeight/80 Color%=255 FillArea.left=0 FillArea.right=Me.ScaleWidth FillArea.top=0 FillArea.bottom=StepSize% For X%=1 To 80 hBrush%=CreateSolidBrush (RGB(0,0,Color%)) RetVal%=FillRect(Me.hDC,FillArea,hBrush%) RetVal%=DeleteObject(hBrush%) Color%=Color%-4 If Color% $#@60; 0 Then Color%=0 FillArea.top=FillArea.bottom FillArea.bottom=FillArea.bottom+StepSize% Next Me.ScaleMode=OldMode% EndSub
按F5运行,就会出现一个以从上至下、由浅至深的渐变蓝色为背景的窗口。对上述代码稍加改动,便可制作出各种颜色和水平方向的渐变背景。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)