From: Rogers, J. <rog...@oc...> - 2002-10-08 01:58:33
|
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! =20 Thankyou for sharing. John Rogers System Engineer Oc=E9 Australia =20 -----Original Message----- From: Frazier, Joe Jr [mailto:Joe.Frazier@Peopleclick.com] Sent: Tuesday, October 08, 2002 8:08 AM To: Luigino Masarati; per...@li... 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. =20 Joe Frazier, Jr.=20 Technical Support Engineer=20 Peopleclick Service Support=20 Tel: +1-800-841-2365=20 E-Mail: mailto:su...@pe... <mailto:su...@pe...> = =20 -----Original Message----- From: Luigino Masarati [mailto:lma...@ou...] Sent: Thursday, October 03, 2002 8:18 AM To: per...@li... 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=3D/library/en-us/winui= /winui /windowsuserinterface/windowing/windows/windowreference/windowfunctions/= anim atewindow.asp <http://msdn.microsoft.com/library/default.asp?url=3D/library/en-us/winu= i/winu i/windowsuserinterface/windowing/windows/windowreference/windowfunctions= /ani matewindow.asp> ) and found nothing about it, so i searched on MSDN and found the API code and tried until i got it. =20 Note that this functionality is fully supported by Windows 98/2000/XP = only. =20 Here is the code, hope it will be useful to someone else... =20 #----------------------------- # use Win32::GUI etc...=20 =20 use Win32; use Win32::API; =20 use constant AW_HOR_POSITIVE =3D> 0x00000001; use constant AW_HOR_NEGATIVE =3D> 0x00000002; use constant AW_VER_POSITIVE =3D> 0x00000004; use constant AW_VER_NEGATIVE =3D> 0x00000008; use constant AW_CENTER =3D> 0x00000010; use constant AW_HIDE =3D> 0x00010000; use constant AW_ACTIVATE =3D> 0x00020000; use constant AW_SLIDE =3D> 0x00040000; use constant AW_BLEND =3D> 0x00080000; =20 # BOOL AnimateWindow( # HWND hwnd, # DWORD dwTime, # DWORD dwFlags # ); my $AnimateWindow =3D new Win32::API("user32", "AnimateWindow", [ 'N', = 'N', 'N' ], 'N') or $reg{'UI'}{'Fading'} =3D 0; =20 # ... here create your window object ($winObj) as ususal... =20 # set animation duration in ms (usually 200ms) my $msec =3D 200; =20 # FADE IN # use this command in place of $objWin->Show() $AnimateWindow->Call($winObj->{-handle}, $msec, AW_ACTIVATE | AW_BLEND = ); =20 # FADE OUT # use this command in place of $objWin->Hide() for example in winObj_Terminate() $AnimateWindow->Call($winObj->{-handle}, $msec, AW_HIDE | AW_BLEND ); =20 # Some alternatives follows... =20 # 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 ); =20 # 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 ); =20 # GROW from CENTER # use this command in place of $objWin->Show() # $AnimateWindow->Call($winObj->{-handle}, $msec, AW_ACTIVATE | = AW_CENTER ); =20 # 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 = ); =20 #----------------------------- =20 Bye. =20 Luigino Masarati OutSys snc. =20 ##############################################################=20 Disclaimer=20 If this e-mail has been sent to you in error, please notify=20 Oc=E9-Australia Limited immediately and delete this e-mail from=20 your system.=20 Any views expressed in this e-mail are those of the individual=20 sender and may not necessarily reflect the views of=20 Oc=E9-Australia Limited.=20 ############################################################## |