Rubrik: Oberfläche · Effekte | VB-Versionen: VB4, VB5, VB6 | 27.09.01 |
Fenster-Hintergrund mit Farbverlauf Ein einfaches Beispiel, das zeigt, wie man einen Hintergrund-Farbverlauf in einem Fenster erstellt. | ||
Autor: ASCOMP Software GmbH | Bewertung: | Views: 14.771 |
www.ascomp-software.de | System: Win9x, WinNT, Win2k, Win8, Win10, Win11 | Beispielprojekt auf CD |
Die nachfolgende Routine erzeugt einen Hintergrund-Farbverlauf für ein bestimmtes Formular. Zu beachten ist, dass Sie zunächst die AutoRedraw-Eigenschaft auf True, da der Farbverlauf sonst nicht angezeigt wird.
Anmerkung: Der Farbverlauf lässt sich ohne weiteres auch auf Picture-Objekte anwenden.
' Farbverlauf Public Sub Farbverlauf(Objekt As Object, _ ByVal VonFarbe As Long, ByVal ZuFarbe As Long) Dim bvf As Long Dim gvf As Long Dim rvf As Long Dim bzf As Long Dim gzf As Long Dim rzf As Long Dim yp As Long Dim rv As Long Dim gv As Long Dim bv As Long ' RGB-Farbanteile "VonFarbe" bvf = Int(VonFarbe / (256 ^ 2)) VonFarbe = VonFarbe - (bvf * (256 ^ 2)) gvf = Int(VonFarbe / (256 ^ 1)) VonFarbe = VonFarbe - (gvf * (256 ^ 1)) rvf = Int(VonFarbe / (256 ^ 0)) ' RGB-Farbanteile "ZuFarbe" bzf = Int(ZuFarbe / (256 ^ 2)) ZuFarbe = ZuFarbe - (bzf * (256 ^ 2)) gzf = Int(ZuFarbe / (256 ^ 1)) ZuFarbe = ZuFarbe - (gzf * (256 ^ 1)) rzf = Int(ZuFarbe / (256 ^ 0)) ' Farbverlauf erstellen rv = rvf: gv = gvf: bv = bvf With Objekt For yp = 0 To .ScaleHeight rv = rv - ((rvf - rzf) / (.ScaleHeight / 15)) gv = gv - ((gvf - gzf) / (.ScaleHeight / 15)) bv = bv - ((bvf - bzf) / (.ScaleHeight / 15)) If rv < 0 Then rv = 0 If gv < 0 Then gv = 0 If bv < 0 Then bv = 0 Objekt.Line (0, yp)-(.ScaleWidth, yp), _ RGB(rv, gv, bv) yp = yp + 14 Next yp End With End Sub
Beispiel:
Um einen Blau-Weissen Farbverlauf zu erzeugen, rufen Sie die Prozedur wie folgt auf:
Private Sub Form_Load() ' Farbverlauf von blau nach weiss Me.AutoRedraw = True Farbverlauf Me, &H800000, vbWhite End Sub