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.682 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. |
Neu! sevCommand 4.0 Professionelle Schaltflächen im modernen Design! Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung 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. |