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. Diese Seite wurde bereits 13.728 mal aufgerufen. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Buchempfehlung Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||
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. |