VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 制作渐变的窗口背景色
发表评论(0)作者:, 平台:, 阅读:13153, 日期:2000-03-12
制作渐变的窗口背景色

吴斌

  在许多Windows软件的安装程序中,时常可以看到以某种颜色由浅至深的渐变

为背景的窗口。使用VB制作这类窗口的方法有不少,而通过调用API函数绘制渐变

的窗口背景色,似乎是一种既简单又节省资源的方法。

  首先,在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% < 0 Then Color%=0

   FillArea.top=FillArea.bottom

  FillArea.bottom=FillArea.bottom+StepSize%

  Next

  Me.ScaleMode=OldMode%

  EndSub


  按F5运行,就会出现一个以从上至下、由浅至深的渐变蓝色为背景的窗口。对

上述代码稍加改动,便可制作出各种颜色和水平方向的渐变背景。