vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2022
 
zurück
Rubrik: Grafik & Zeichnen15.04.02
RoundRect-Funktion

Diese Funktion zeichnet ein abgerundetes Rechteck auf ein Device.

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

Deklaration:

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


Beschreibung:

Diese Funktion zeichnet ein abgerundetes Rechteck auf ein Device.


Parameter:

hdcErwartet den Device-Kontext eines Gerätes.
nLeftRectErwartet die linke Koordinate des Rechtecks.
nTopRectErwartet die obere Koordinate des Rechtecks.
nRightRectErwartet die rechte Koordinate des Rechtecks.
nBottomRectErwartet die untere Koordinate des Rechtecks.
nWidthErwartet die Weite der Rundungen des Rechtecks.
nHeightErwartet die Höhe der Rundungen des Rechtecks.


Rückgabewert:

Ist die Funktion erfolgreich, so ist die Rückgabe "ungleich 0", andernfalls wird derWert "0" zurückgegeben. Unter Windows 2000/NT können erweiterte Fehlerinformationenanhand der GetLastError-Funktion ermittelt werden.

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
 
Private Const FLOODFILLBORDER = 0 ' füllt von der angegebenen Position bis zu der  
' angegebenen Farbe "crColor" mit dem aktuell gewählten Brush. Diese Methode füllt  
' keine Bereiche, die mit "crColor" umschlossen sind.
Private Zonst FLOODFILLSURFACE = 1 ' überschreibt die Farbe "crColor" mit dem  
' aktuell gewählten Brush
' Form.AutoRedraw sollte True sein, damit der Fensterinhalt besser angezeigt wird.
Private Sub Form_Resize()
  Dim RetVal As Long, hBrush As Long, hOldBrush As Long, RndCol As Long
  On Error Resume Next ' bei einem Minimieren-Ereignis tritt sonst ein Fehler auf
 
  ' 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 Original-Brush wiederherstellen
  RetVal = SelectObject(Me.hdc, hOldBrush)
 
  ' den angelegten Brush zerstören
  DeleteObject hBrush
End Sub

Diese Seite wurde bereits 8.319 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2022 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