denick
Anmeldedatum: 15.09.2006 Beiträge: 1122 Wohnort: Berlin
|
Verfasst am: Do März 20, 2008 5:30 pm Titel: TechDemo: AnimateWindows |
|
|
Moin,
nachdem ich nun zum x-sten Mal nach den Parametern für die Funktion AnimateWindow gesucht habe, stelle ich die mir bekannten Möglichkeiten hier ein, damit ich sie schneller wiederfinde:
| Code: | #NoEnv
AW_HOR_POSITIVE := 0x1 ; Horizontal von Rechts nach Links
AW_HOR_NEGATIVE := 0x2 ; Horizontal von Links nach Rechts
AW_VER_POSITIVE := 0x4 ; Vertikal von Oben nach Unten
AW_VER_NEGATIVE := 0x8 ; Vertikal von Unten nach Oben
AW_CENTER := 0x10 ; Zur / von der Mitte
AW_HIDE := 0x10000 ; Fenster animiert verbergen
AW_ACTIVATE := 0x20000 ; Fenster nach fertigem Aufbau aktivieren
AW_SLIDE := 0x40000 ; Slide-Effekt
AW_BLEND := 0x80000 ; Fade-Effekt
Time := 1000 ; Zeit für Animation
Gui, Margin, 0, 0
Gui, Add, Button, w200 gBTH, Horizontaler Slide
Gui, Add, Button, wp gBTV, Vertikaler Slide
Gui, Add, Button, wp gBTZ, Zentrierter Slide
Gui, Add, Button, wp gBTF, Ein-/Ausblenden
Gui, Show, AutoSize, AnimateWindow
Gui, +LastFound
GuiID := WinExist()
Return
; ------------------------------------------------------------------------------
GuiClose:
GuiEscape:
ExitApp
; ------------------------------------------------------------------------------
BTH:
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_HOR_NEGATIVE + AW_HIDE)
Sleep, 1000
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_HOR_NEGATIVE + AW_ACTIVATE)
Sleep, 1000
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_HOR_NEGATIVE + AW_HIDE)
Sleep, 1000
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_HOR_POSITIVE)
Return
; ------------------------------------------------------------------------------
BTV:
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_VER_NEGATIVE + AW_HIDE)
Sleep, 1000
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_VER_NEGATIVE + AW_ACTIVATE)
Sleep, 1000
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_VER_NEGATIVE + AW_HIDE)
Sleep, 1000
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_VER_POSITIVE)
Return
; ------------------------------------------------------------------------------
BTZ:
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_CENTER + AW_HIDE)
Sleep, 1000
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_SLIDE + AW_CENTER + AW_ACTIVATE)
Return
; ------------------------------------------------------------------------------
BTF:
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time
, "UInt", AW_BLEND + AW_HIDE)
Sleep, 1000
DllCall("AnimateWindow", "UInt", GuiID, "Int", Time * 2
, "UInt", AW_BLEND)
Return |
Zum Ausblenden braucht es immer AW_HIDE. Beim Einblenden kann zusätzlich AW_ACTIVATE mitgegeben werden, damit das Fenster aktiviert wird, wenn es das nicht ist. Sämtliche Effekte lassen sich wild mischen. Man kann z.B. vertikal ausblenden und dann wieder horizontal oder zentriert einblenden.
Viel Spaß beim Rumprobieren!
EDIT:
Ehre, wem Ehre gebührt! Noch mehr zu diesem Thema gibt's bei SKAN.
@BoBo: Das ist genau der Thread, den ich immer wieder gesucht habe!  _________________ Hilfe zur Hilfe
(de)nick
Zuletzt bearbeitet von denick am Sa März 22, 2008 8:59 am, insgesamt 2-mal bearbeitet |
|