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 11.877 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (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. |
vb@rchiv CD Vol.6 ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats Dieter Otter Doppelte Einträge aus einer Liste entfernen (.NET) Wie man schnell alle doppelten Einträge aus einer Liste entfernt, das erfahren Sie hier. 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. |
||||||||||||||||
|
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. |
|||||||||||||||||


Ein-/Ausblendeffekt für Fenster


