vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Grafik & Zeichnen13.09.01
CreateSolidBrush-Funktion

Diese Funktion erstellt einen einfarbigen Pinsel in der angegebenen Farbe.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  8.776 

Deklaration:

Declare Function CreateSolidBrush Lib "gdi32.dll" ( _
  ByVal crColor As Long) As Long

Beschreibung:
Diese Funktion erstellt einen einfarbigen Pinsel in der angegebenen Farbe.

Parameter:
crColorErwartet eine RGB-Farbe des Pinsels.

Rückgabewert:
Ist die Funktion erfolgreich, so ist die Rückgabe das Handle des neu erstellten Pinsels, andernfalls wird "0" zurückgegeben.


Beispiel:

 
Private Declare Function CreateSolidBrush Lib "gdi32.dll" ( _
  ByVal crColor As Long) As Long
 
Private Declare Function DeleteObject Lib "gdi32.dll" ( _
  ByVal hObject As Long) As Long
 
Private Declare Function ExtFloodFill Lib "gdi32.dll" ( _
  ByVal hdc As Long, _
  ByVal nXStart As Long, _
  ByVal nYStart As Long, _
  ByVal crColor As Long, _
  ByVal fuFillType As Long) As Long
 
Private Declare Function SelectObject Lib "gdi32.dll" ( _
  ByVal hdc As Long, _
  ByVal hObject As Long) As Long
 
Private Declare Function RoundRect Lib "gdi32.dll" ( _
  ByVal hdc As Long, _
  ByVal nLeftRect As Long, _
  ByVal nTopRect As Long, _
  ByVal nRightRect As Long, _
  ByVal nBottomRect As Long, _
  ByVal nWidth As Long, _
  ByVal nHeight As Long) As Long
 
' Füllt von der angegebenen Position bis zu der angegebenen
' Farbe "crColor" mit dem aktuell gewähltem Brush.
' Diese Methode füllt keine Bereiche, die mit "crColor"
' umschlossen sind.
Private Const FLOODFILLBORDER = 0
 
' Überschreibt die Farbe "crColor" mit dem aktuell gewähltem
' Brush
Private Const FLOODFILLSURFACE = 1
Private Sub Form_Load()
  ' ScaleMode vbPixel!
  Me.ScaleMode = vbPixels
 
  ' AutoRedraw
  Me.AutoRedraw = True
End Sub
' Form.AutoredDraw sollte True sein, damit der Fensterinhalt
' angezeigt wird.
Private Sub Form_Resize()
  Dim RetVal As Long, hBrush As Long
  Dim hOldBrush As Long, RndCol As Long
 
  ' Bei einem Minimieren-Ereignis tritt sonst ein Fehler auf
  On Error Resume Next
  ' Inhalt der Form löschen
  Me.Cls
 
  ' Rechteck auf der Form zeichnen
  RetVal = RoundRect(Me.hdc, Me.ScaleWidth / 3, _
    Me.ScaleHeight / 3, Me.ScaleWidth / 3 * 2, _
    Me.ScaleHeight / 3 * 2, 20, 20)
 
  ' Brush mit zufälliger Farbe erstellen
  Randomize Timer 'Zufallszahlen neu berechnen
  RndCol = RGB(CInt(Rnd() * 255 + 1), _
    CInt(Rnd() * 255 + 1), CInt(Rnd() * 255 + 1))
  hBrush = CreateSolidBrush(RndCol)
 
  ' Brush zuweisen und alten Brush zwischenspeichern
  hOldBrush = SelectObject(Me.hdc, hBrush)
 
  ' Den inneren Bereich des Rechtecks mit dem Brush der Form
  ' füllen
  RetVal = ExtFloodFill(Me.hdc, Me.ScaleWidth / 2, _
    Me.ScaleHeight / 2, vbBlack, FLOODFILLBORDER)
 
  ' Den Orginal-Brush wiederherstellen
  RetVal = SelectObject(Me.hdc, hOldBrush)
 
  ' Den angelegten Brush zerstören
  DeleteObject hBrush
End Sub

Diese Seite wurde bereits 8.776 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2019 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel