Heute möchten wir Ihnen zwei einfache Funktionen vorstellen, mit denen sich ein Fenster langsam ein- bzw. ausblenden lässt. Fügen Sie nachfolgenden Code in ein Modul ein: Option Explicit ' benötigte API-Deklaration Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) ' Fenster langsam einblenden Public Sub FadeIn(oForm As Form, _ Optional ByVal nStep As Long = 75, _ Optional ByVal maxWidth As Long = 0, _ Optional ByVal maxHeight As Long = 0) Dim w As Long Dim h As Long With oForm If maxWidth = 0 Then maxWidth = .Width If maxHeight = 0 Then maxHeight = .Height ' minimale Fenstergröße .Width = 300 .Height = 300 On Error Resume Next If Not .Visible Then .Visible = True On Error GoTo 0 While .Width < maxWidth And .Height < maxHeight w = .Width + nStep If w > maxWidth Then w = maxWidth h = .Height + nStep If h > maxHeight Then h = maxHeight .Move .Left, .Top, w, h ' kurz warten .Refresh Sleep (5) Wend End With End Sub ' Fenster langsam ausblenden Public Sub FadeOut(oForm As Form, _ Optional ByVal nStep As Long = 75) Dim w As Long Dim h As Long Dim minWidth As Long Dim minHeight As Long With oForm minWidth = 330 minHeight = 330 w = .Width h = .Height On Error Resume Next While w > minWidth And h > minHeight w = w - nStep h = h - nStep .Move .Left, .Top, w, h ' kurz warten .Refresh Sleep (5) Wend On Error GoTo 0 End With End Sub Aufrufbeispiel: Private Sub Form_Load() ' Fenster langsam einblenden FadeIn Me End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) ' Form ausblenden FadeOut Me End Sub Anmerkung von Gerd Kuklau (25.05.09) ' Fenster langsam ausblenden Public Sub FadeOut(oForm As Form, _ Optional ByVal nStep As Long = 75) Dim w As Long Dim h As Long Dim minWidth As Long Dim minHeight As Long With oForm minWidth = 330 minHeight = 330 w = .Width h = .Height On Error Resume Next While w > minWidth And h > minHeight w = w - nStep h = h - nStep .Move .Left, .Top, w, h ' kurz warten .Refresh ' sieht schöner aus DoEvents Sleep (5) Wend On Error GoTo 0 End With End Sub Dieser Tipp wurde bereits 10.943 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats Januar 2025 Dieter Otter Zeilen einer MultiLine-TextBox ermitteln (VB.NET) Dieser Zipp zeigt, wie man die Zeilen einer MultiLine-TextBox exakt so ermitteln kann, wie diese auch in der TextBox dargestellt werden. Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |