Ich habe zufällig die API-Funktion AnimateWindow entdeckt und sofort eine Zugriffs-Prozedur geschrieben. Mann kann damit einige Fenstereffekte erzeugen. U.a. Einfaden, Ausfaden, Schieben, Rollen... Falls der Effekt nicht mit der Windows-Version kompatibel ist, oder ein anderer Fehler auftritt, wird die Form trotzdem ein-/ausgeblendet. Genauere Beschreibung zur Handhabung im Quellcode. #Region "FensAnim" ' zunächst die benötigten API-Deklarationen Private Declare Function AnimateWindow Lib "user32" ( _ ByVal hwnd As Integer, _ ByVal Time As Integer, _ ByVal Flags As Integer) As Integer Private Const AW_ACTIVATE = &H20000 Private Const AW_BLEND = &H80000 Private Const AW_CENTER = &H10 Private Const AW_SLIDE = &H40000 Private Const AW_HIDE = &H10000 Private Const AW_HOR_POSITIVE = &H1 Private Const AW_HOR_NEGATIVE = &H2 Private Const AW_VER_POSITIVE = &H4 Private Const AW_VER_NEGATIVE = &H8 Private Const WM_PAINT = &HF Enum FensAnimArt As Integer EINBLENDEN AUSBLENDEN End Enum Enum FensAnimEffekt As Integer DIMMEN ROLLEN_SEITE ROLLEN_MITTE SCHIEBEN End Enum Enum FensAnimRichtung As Integer N NO O SO S SW W NW End Enum Private Sub FensAnim( _ ByVal Fenster As Form, _ ByVal Art As FensAnimArt, _ ByVal Effekt As FensAnimEffekt, _ ByVal Richtung As FensAnimRichtung, _ ByVal Dauer_ms As Integer) ' Fehlerbehandlung aktivieren Try Dim Flags As Integer = 0 ' Flag Ein/Ausblenden Select Case Art Case FensAnimArt.EINBLENDEN Flags += AW_ACTIVATE Case FensAnimArt.AUSBLENDEN Flags += AW_HIDE End Select ' Effect-Flag addieren Select Case Effekt Case FensAnimEffekt.ROLLEN_SEITE Flags += 0 Case FensAnimEffekt.ROLLEN_MITTE Flags += AW_CENTER Case FensAnimEffekt.SCHIEBEN Flags += AW_SLIDE Case FensAnimEffekt.DIMMEN Flags += AW_BLEND End Select ' Richtungs-Flags addieren Select Case Richtung Case FensAnimRichtung.N Flags += AW_VER_NEGATIVE Case FensAnimRichtung.NO Flags += AW_VER_NEGATIVE + AW_HOR_POSITIVE Case FensAnimRichtung.O Flags += AW_HOR_POSITIVE Case FensAnimRichtung.SO Flags += AW_VER_POSITIVE + AW_HOR_POSITIVE Case FensAnimRichtung.S Flags += AW_VER_POSITIVE Case FensAnimRichtung.SW Flags += AW_VER_POSITIVE + AW_HOR_NEGATIVE Case FensAnimRichtung.W Flags += AW_HOR_NEGATIVE Case FensAnimRichtung.NW Flags += AW_VER_NEGATIVE + AW_HOR_NEGATIVE End Select ' Animation ausführen ' (Programm/Thread ist solange pausiert) AnimateWindow(Fenster.Handle.ToInt32, Dauer_ms, Flags) Catch : End Try ' sicherheits Fenster anzeigen/verstecken ' (falls Animation fehlschlägt!) Select Case Art Case FensAnimArt.EINBLENDEN Fenster.Show() Case FensAnimArt.AUSBLENDEN Fenster.Hide() End Select ' sicherheitshalber Neuzeichnen ' (um Grafikfehler zu vermeiden) Fenster.Refresh() End Sub #End Region Beschreibung der Parameter: Fenster: die Form die animiert werden soll Art: Effekt: (probier' sie einfach aus) Richtung: siehe Effekte Dauer_ms: Dauer der gesamten Animation in Millisekunden Beispiel für den Aufruf: Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Einblenden FensAnim(Me, EINBLENDEN, SCHIEBEN, W, 500) End Sub Private Sub Form1_Closed(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Closed ' Ausblenden FensAnim(Me, AUSBLENDEN, DIMMEN, W, 500) End Sub Dieser Tipp wurde bereits 24.270 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! sevCoolbar 3.0 Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |