vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Fenster & Forms15.10.02
Forms mit abgerundeten Ecken

VB-Version:  VB5, VB6
 Views:  13.685 

Sie finden rechteckige Fenster langweilig? Sie möchten vielleicht denBegrüßungsbildschirm mit abgerundeten Ecken haben? Nehmen Sie eine Form, setzen Sie BorderStyle auf 0 - Kein und ScaleMode auf 3 - Pixel. Außerdembenötigen Sie für dieses Experiment noch zwei CommandButtons. Dann vielleichtnoch eine andere Hintergrundfarbe auswählen und folgenden Code verwenden:

Option Explicit
 
' zunächst die benötigten Deklarationen
Private Declare Function CreateRoundRectRgn Lib "gdi32" ( _
  ByVal X1 As Long, _
  ByVal Y1 As Long, _
  ByVal X2 As Long, _
  ByVal Y2 As Long, _
  ByVal X3 As Long, _
  ByVal Y3 As Long) As Long
 
Private Declare Function SetWindowRgn Lib "User32" ( _
  ByVal hwnd As Long, _
  ByVal hRgn As Long, _
  ByVal bRedraw As Boolean) As Long
 
Private Sub Form_Load()
  ' Command2 deaktivieren
  Command2.Enabled = False
End Sub
 
' Ecken abrunden   Dim x As Long
Private Sub Command1_Click()
  Dim Y As Long
  Dim n As Long
 
  x = Me.Width / Screen.TwipsPerPixelX
  Y = Me.Height / Screen.TwipsPerPixelY
 
  ' hier wird der Rundungsgrad der Ecken vorgegeben
  n = 120
 
  SetWindowRgn Me.hwnd, CreateRoundRectRgn(0, 0, x, Y, n, n), True
 
  ' Command1 deaktivieren
  Command1.Enabled = False
 
  ' Command2 aktivieren
  Command2.Enabled = True
End Sub
 
' Fenster normal "eckig" darstellen
Private Sub Command2_Click()
  Dim x As Long
  Dim Y As Long
  Dim n As Long
 
  x = Me.Width / Screen.TwipsPerPixelX
  Y = Me.Height / Screen.TwipsPerPixelY
 
  ' hier wird der Rundungsgrad der Ecken vorgegeben,
  ' in diesem Fall: keine
  n = 0
 
  SetWindowRgn Me.hwnd, CreateRoundRectRgn(0, 0, x, Y, n, n), True
 
  ' Command1 aktivieren
  Command1.Enabled = True
 
  ' Command2 deaktivieren
  Command2.Enabled = False
End Sub

So - das war's auch schon. Wenn Sie noch mehr über "runde Ecken" erfahren möchten, schauen Sie sich doch einmal unseren Workshop  Runde Fenster? Wie geht denn das? an.

 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle 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.