From: Frazier, J. J. <Joe.Frazier@Peopleclick.com> - 2005-06-03 14:27:53
|
This is easy: set a timer.=20 use Win32::GUI; my $Window =3D new Win32::GUI::Window ( -name =3D> "Window", -topmost =3D> 1, -left =3D> 300, -dialogui =3D> 1, -top =3D> 400, -width =3D> 258, -height =3D> 280, -text =3D> "Blah", ); $Window->Center(); my $Timer =3D $Window->AddTimer("TimedOperation", 500); $Window->Show(); $Window->Enable(); Win32::GUI::Dialog(); sub Window_Terminate { print "Closing\n";=20 return -1; } sub TimedOperation_Timer { #do some stuff here $Timer->Kill(); for (my $a =3D0; $a <10; $a++) { select(undef, undef, undef, .05); print $a, "\n"; } return -1=20 # this ends the Win32::GUI::Dialog=20 # phase and IF you have more stuff in the script # it runs to completion. =20 # OR call Window_Terminate() if you=20 # want some clean up stuff done first. } The only thing you really need to look out for it how long it takes to = do your action before quiting. Of course, you could just not show the = window at all (do not call $Window->Show()), otherwise, the end user = could still quit using the "X" button in the corner. There is a way to = remove the "X" and other TitleBar controls, but I am not sure exactly = what the right combo of parameters on the Window creation would be. The = docs can help with that. Also, there is a way to create windows with no = TitleBar at all, but again, I do not remember how to do this off the top = of my head. Joe Frazier, Jr. Senior Support Engineer Peopleclick Service Support Tel: +1-800-841-2365 E-Mail: Support@Peopleclick.com=20 > -----Original Message----- > From: per...@li...=20 > [mailto:per...@li...] On=20 > Behalf Of Glenn Linderman > Sent: Thursday, June 02, 2005 20:29 > To: Jim Hansen > Cc: per...@li... > Subject: Re: [perl-win32-gui-users] Button Questions >=20 > On approximately 6/2/2005 2:28 PM, came the following=20 > characters from the keyboard of Jim Hansen: > > Is it possible to create a Window that does not need=20 > buttons to jump=20 > > to a subroutine or exit. > > =20 > > I would like to have a window that automatically continues to a=20 > > subroutine without having to be initiated by the user, then=20 > when the=20 > > subroutine processing is complete, destroy the window=20 > without an exit=20 > > button. >=20 > Well, I don't know exactly what you mean by "continues=20 > automatically to a subroutine" ... >=20 > It is certainly possible to write a subroutine that Show()s a=20 > previously created window, continues processing, and at the=20 > end Hide()s the window. >=20 > You will need to also call DoEvents at strategic points to=20 > get it to actually display or update, if you wish it to be=20 > visible, and if you wish to update the content. >=20 > Otherwise, this should be relatively straightforward. >=20 > > =20 > > Thanks > >=20 > >=20 > ---------------------------------------------------------------------- > > -- > > Yahoo! Mail > > Stay connected, organized, and protected. Take the tour=20 > > <http://tour.mail.yahoo.com/mailtour.html> >=20 > -- > Glenn -- http://nevcal.com/ > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D > Having identified a vast realm of ignorance, Wolfram is=20 > saying that much of this realm lies forever outside the light=20 > cone of human knowledge. > -- Michael Swaine, Dr Dobbs=20 > Journal, Sept 2002 >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by Yahoo. > Introducing Yahoo! Search Developer Network - Create apps using Yahoo! > Search APIs Find out how you can build Yahoo! directly into your own > Applications - visit=20 > http://developer.yahoo.net/?fr=3Doffad-ysdn-ostg-q22005 > _______________________________________________ > Perl-Win32-GUI-Users mailing list > Per...@li... > https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users >=20 |