The problem occurs when an already visible window (or dialogbox) is
overlayed with a popup dialogbox. A hole is left in the first window where
the popup box was upon its closing. The hole does not go away until
Win32::GUI::Dialog() regains control and refreshes the window. It appears
that Win32::GUI::Dialog() automatically refreshes the screen when control
returns to it. But in a case where a popup dialog is called within a
subroutine, and that subroutine performs some processing after the popup
dialog is closed, there is a log time before Win32::GUI::Dialog() is back in
control. While that lag time exists, the first screen remains unrefreshed so
that the user looks at an incomplete window objects. In the case of a
Win32::GUI::Messagebox being called, this hole does not occur upon its
closing. Also, the FileOpenDialog does not leave a hole nor does the Color
Picker Dialog. So these Dialogs must be holding the contents of the screen
they are covering in a buffer and redisplaying that portion of the screen
they covered upon their closing.
Eric
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]On Behalf Of Ravi Singh
Sent: Friday, December 31, 1999 1:49 PM
To: [EMAIL PROTECTED]
Subject: Re: RE::[perl-win32-gui] Window-Show() Observation
I'm not sure if i completely understand the problem, but i believe that in
the style tag for the GUI dialogbox, if you use WS_VISIBLE, it will be shown
immediately, without the need for a -show method.
Regards,
Ravi Singh
[EMAIL PROTECTED]
http://www.windows-shareware.com
- Original Message -
From: Cam Watson [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, December 31, 1999 12:31 PM
Subject: RE::[perl-win32-gui] Window-Show() Observation
Hi,
I was wondering if anyone came up with a solution to
this problem (described below in Eric's message). I'm
encountering the same problem and when I searched the
old messages I never found an answer or any further
discussion in the thread. Thanks for you time.
Cam Watson
Eric Hanson wrote:
It appears that the show method does not fire until
control returns to
Win32::GUI::Dialog(); Aldo, is there any way we can
get Show() programmed
to fire immediately? Please study my below example and
the notes.
Thanks,
Eric Hansen
# OK button click event for DialogBox #1
sub D1OK_Click {
$D1-Disable();
$D2-Enable();
$D2-Show();
}
# OK button click event for DialogBox #2
sub D2OK_Click {
$D2-Disable();
$D2-Hide();
$D1-Enable();
$D1-Show(); # Show() method does not fire till
Do_Process completes
# and control returns to
Win32::GUI::Dialog()
# since the DialogBox1 screen does
not refresh till then.
Do_Process(); # call a subroutine to do some
procedure code
}
sub Do_Process {
# procedure code executed here
}
=
Quote of the Day:
__
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://messenger.yahoo.com