程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB調用API制作漸變的窗口背景色

VB調用API制作漸變的窗口背景色

編輯:VB綜合教程

  在許多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% $#@60; 0 Then Color%=0
   
        FillArea.top=FillArea.bottom
  
        FillArea.bottom=FillArea.bottom+StepSize%
  
        Next
  
        Me.ScaleMode=OldMode%
  
        EndSub

  按F5運行,就會出現一個以從上至下、由淺至深的漸變藍色為背景的窗口。對上述代碼稍加改動,便可制作出各種顏色和水平方向的漸變背景。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved