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. Unter VB6 gibt es leider noch Probleme mit dem Fensterhintergrund. Vielleicht hat ja jemand eine Lösung: ' zunächst die benötigten API-Deklarationen Private Declare Function AnimateWindow Lib "user32" ( _ ByVal hwnd As Long, _ ByVal Time As Long, _ ByVal Flags As Long) As Long 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 EINBLENDEN AUSBLENDEN End Enum Enum FensAnimEffekt DIMMEN ROLLEN_SEITE ROLLEN_MITTE SCHIEBEN End Enum Enum FensAnimRichtung 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 On Error Resume Next Dim Flags As Long Flags = 0 ' Flag Ein/Ausblenden Select Case Art Case FensAnimArt.EINBLENDEN Flags = Flags + AW_ACTIVATE Case FensAnimArt.AUSBLENDEN Flags = Flags + AW_HIDE End Select ' Effect-Flag addieren Select Case Effekt Case FensAnimEffekt.ROLLEN_SEITE Flags = Flags + 0 Case FensAnimEffekt.ROLLEN_MITTE Flags = Flags + AW_CENTER Case FensAnimEffekt.SCHIEBEN Flags = Flags + AW_SLIDE Case FensAnimEffekt.DIMMEN Flags = Flags + AW_BLEND End Select ' Richtungs-Flags addieren Select Case Richtung Case FensAnimRichtung.N Flags = Flags + AW_VER_NEGATIVE Case FensAnimRichtung.NO Flags = Flags + AW_VER_NEGATIVE + AW_HOR_POSITIVE Case FensAnimRichtung.O Flags = Flags + AW_HOR_POSITIVE Case FensAnimRichtung.SO Flags = Flags + AW_VER_POSITIVE + AW_HOR_POSITIVE Case FensAnimRichtung.S Flags = Flags + AW_VER_POSITIVE Case FensAnimRichtung.SW Flags = Flags + AW_VER_POSITIVE + AW_HOR_NEGATIVE Case FensAnimRichtung.W Flags = Flags + AW_HOR_NEGATIVE Case FensAnimRichtung.NW Flags = Flags + AW_VER_NEGATIVE + AW_HOR_NEGATIVE End Select ' Animation ausführen ' (Programm/Thread ist solange pausiert) AnimateWindow Fenster.hwnd, Dauer_ms, Flags ' 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 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 Form_Load() ' Einblenden FensAnim Me, EINBLENDEN, SCHIEBEN, W, 500 End Sub Private Sub Form_Unload(Cancel As Integer) ' Ausblenden FensAnim Me, AUSBLENDEN, DIMMEN, W, 500 End Sub Wenn Sie diesen Tipp unter VB.NET einsetzen möchten: Dieser Tipp wurde bereits 24.863 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. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevAniGif (VB/VBA) Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. |
||||||||||||||||
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. |