Rubrik: Grafik & Zeichnen | 22.03.05 |
FillRect-Funktion Diese Funktion füllt die Koordinaten eines Gerätes mit einem übergebenen Brush. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 10.662 |
Deklaration:
Declare Function FillRect Lib "user32.dll" ( _ ByVal hdc As Long, _ lpRect As RECT, _ ByVal hBrush As Long) As Long
Beschreibung:
Diese Funktion füllt die Koordinaten eines Gerätes mit einem übergebenenBrush.
Parameter:
hdc | Erwartet das Handle des Gerätes, auf dem bestimmte Koordinaten mit einem Brush gefüllt werden sollen. |
lpRect | Erwartet eine gefüllte RECT-Struktur, die die Koordinaten beschreibt, die mit dem Brush gefüllt werden soll. |
hBrush | Erwartet ein Handle zu einem Brush, der dazu benutzt wird, die Koordinaten auszufüllen. |
Rückgabewert:
Ist die Funktion erfolgreich so wird der Wert "1" zurückgegeben, andernfalls ist derRückgabewert "0".
Beispiel:
Private Declare Function FillRect Lib "user32" ( _ ByVal hdc As Long, _ lpRect As RECT, _ ByVal hBrush As Long) As Long Private Declare Function CreateHatchBrush Lib "gdi32" ( _ ByVal nIndex As Long, _ ByVal crColor As Long) As Long Private Declare Function DeleteObject Lib "gdi32" ( _ ByVal hObject As Long) As Long Private Declare Function InvertRect Lib "user32" ( _ ByVal hdc As Long, _ lpRect As RECT) As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Const HS_BDIAGONAL = 3 ' Diagonal von links unten nach rechts oben (/) Private Const HS_CROSS = 4 ' Kreuz (+) Private Const HS_DIAGCROSS = 5 ' Diagonales Kreuz (x) Private Const HS_FDIAGONAL = 2 ' Diagonal von rechts unten nach links oben (\) Private Const HS_HORIZONTAL = 0 ' Horizontal (-) Private Const HS_VERTICAL = 1 ' Vertikal (|)
' Füllen des Fensters mit einem Muster Private Sub Form_Load() Dim Retval As Long, hBrush As Long, hOldBrush As Long, WndRect As RECT Dim FirstColor As Long Me.ScaleMode = vbPixels Me.AutoRedraw = True ' RECT-Struktur mit Fenstergröße füllen With WndRect .Right = Me.ScaleWidth .Bottom = Me.ScaleHeight End With ' Brush erstellen hBrush = CreateHatchBrush(HS_DIAGCROSS, vbGreen) ' Fenster mit einem Muster füllen Retval = FillRect(Me.hdc, WndRect, hBrush) ' Fensterfarbe invertieren Retval = InvertRect(Me.hdc, WndRect) ' erstellten Brush zerstören DeleteObject hBrush End Sub