I would Like to add my thanks for these as well .
The marketing types love eye candy, which means they choose my work, which keeps me in a JOB!
 
Thankyou for sharing.

John Rogers
System Engineer
OcÚ Australia
 

-----Original Message-----
From: Frazier, Joe Jr [mailto:Joe.Frazier@Peopleclick.com]
Sent: Tuesday, October 08, 2002 8:08 AM
To: Luigino Masarati; perl-win32-gui-users@lists.sourceforge.net
Subject: RE: [perl-win32-gui-users] Animated windows

Dude, Those ROCK!!!!   Thanks for taking the time to play with and come up with these.  Maybe they will get into the next version.   Keep sending new ones when you find them.
 

Joe Frazier, Jr.
Technical Support Engineer
Peopleclick Service Support

Tel:  +1-800-841-2365
E-Mail: mailto:support@peopleclick.com

-----Original Message-----
From: Luigino Masarati [mailto:lmasarati@outsys.it]
Sent: Thursday, October 03, 2002 8:18 AM
To: perl-win32-gui-users@lists.sourceforge.net
Subject: [perl-win32-gui-users] Animated windows

Hi,
    I searched in this mailing list how to create animated windows like start menu in W2K/XP (see Win32 SDK - Layered Windows http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/animatewindow.asp) and found nothing about it, so i searched on MSDN and found the API code and tried until i got it.
 
Note that this functionality is fully supported by Windows 98/2000/XP only.
 
Here is the code, hope it will be useful to someone else...
 
#-----------------------------
# use Win32::GUI etc...
 
use Win32;
use Win32::API;
 
use constant AW_HOR_POSITIVE => 0x00000001;
use constant AW_HOR_NEGATIVE => 0x00000002;
use constant AW_VER_POSITIVE => 0x00000004;
use constant AW_VER_NEGATIVE => 0x00000008;
use constant AW_CENTER       => 0x00000010;
use constant AW_HIDE         => 0x00010000;
use constant AW_ACTIVATE     => 0x00020000;
use constant AW_SLIDE        => 0x00040000;
use constant AW_BLEND        => 0x00080000;
 
# BOOL AnimateWindow(
# HWND hwnd,
# DWORD dwTime,
# DWORD dwFlags
# );
my $AnimateWindow = new Win32::API("user32", "AnimateWindow", [ 'N', 'N', 'N' ], 'N') or $reg{'UI'}{'Fading'} = 0;
 
# ... here create your window object ($winObj) as ususal...
 
# set animation duration in ms (usually 200ms)
my $msec = 200;
 
# FADE IN
# use this command in place of $objWin->Show()
$AnimateWindow->Call($winObj->{-handle}, $msec, AW_ACTIVATE | AW_BLEND );
 
# FADE OUT
# use this command in place of $objWin->Hide() for example in winObj_Terminate()
$AnimateWindow->Call($winObj->{-handle}, $msec, AW_HIDE | AW_BLEND );
 

# Some alternatives follows...
 
# APPEAR from LEFT-TOP
# use this command in place of $objWin->Show()
# $AnimateWindow->Call($winObj->{-handle}, $msec, AW_ACTIVATE | AW_SLIDE | AW_HOR_POSITIVE | AW_VER_POSITIVE );
 
# DISAPPEAR from RIGHT-BOTTOM
# use this command in place of $objWin->Hide() for example in winObj_Terminate()
# $AnimateWindow->Call($winObj->{-handle}, $msec, AW_HIDE | AW_SLIDE | AW_HOR_NEGATIVE | AW_VER_NEGATIVE );
 
# GROW from CENTER
# use this command in place of $objWin->Show()
# $AnimateWindow->Call($winObj->{-handle}, $msec, AW_ACTIVATE | AW_CENTER );
 
# SHRINK to CENTER
# use this command in place of $objWin->Hide() for example in winObj_Terminate()
# $AnimateWindow->Call($winObj->{-handle}, $msec, AW_HIDE | AW_CENTER );
 
#-----------------------------
 
Bye.
 
    Luigino Masarati
    OutSys snc.
 


##############################################################

Disclaimer


If this e-mail has been sent to you in error, please notify

OcÚ-Australia Limited immediately and delete this e-mail from

your system.


Any views expressed in this e-mail are those of the individual

sender and may not necessarily reflect the views of

OcÚ-Australia Limited.

##############################################################