Login
`
Templates, Tools and Utilities
|
||
Add a comment to an Icetips ArticlePlease add your comments to this article.
Please note that you must provide both a name and a valid email address in order
for us to publish your comment. Comments are moderated and are not visible until they have been approved. Spam is never approved!
Back to article list Search Articles Add Comment Printer friendly Direct link Par2: Snappier window repaints 1999-06-12 -- Jerry Norman 1. My overall approach is to hide a window during the time that Clarion is
painting it, then unhide it so that it appears to "snap" onto the window. I
learned it is necessary to hide (or close) the last child window after
opening a new child window. Otherwise, the underlying window can be seen
during resize activity and when you close your application, and it needs to
be closed anyway before it can be reselected. This is because when Clarion
opens a new window it doesn't go straight to the maximized state - it first
paints in a normal size and then expands to the maximized state. BTW, for
this application I am limiting my child windows to a single thread each.
2. To accomplish the hiding on initial load I put
Self{PROP:Hide} = True
in the ThisWindow.Init embed directly after Open the window. Note this does
not work for an existing window that you are reselecting. I take care of
that in 4 below.
3. Then, in ThisWindow.TakeSelected embed I put
POST(Event:GainFocus,,,)
after the parent call.
4. In the WindowEvents GainFocus embed (priority 5000) I put the following:
Self{PROP:Maximize} = True
IF glo:Thread:BrwNte
SETTARGET(,glo:Thread:BrwNte)
TARGET{PROP:Hide} = True
END
IF glo:Thread:BrwBus
SETTARGET(,glo:Thread:BrwBus)
TARGET{PROP:Hide} = True
END
SETTARGET(,glo:Thread:BrwPrj)
Elsewhere, when I open a child window I assign the thread() to the
appropriate glo:Thread variable, or if it is already open I post a GainFocus
event to the thread. The above code hides whichever window is being overlaid
by this newly selected window. I orginally thought I could just hide a
window when it lost focus but this creates interesting results when the user
selects another window outside your application
Today is November 21, 2024, 6:54 am This article has been viewed 35206 times.
|
|