[WIN] <Maximize>/<Restore> & switching apps from taskbar problem

new topic     » topic index » view thread      » older message » newer message

I'm having a problem with my modification of Judith's elaboration of the IDE
for Win32Lib which relates to my (unusual?) use of <Maximize>/<Restore> in
"onResize" when the user switches apps by clicking on icons in the taskbar.

I use style <Maximize>/<Restore> in "onResize" to select *slightly
different* windows in the app (more content in large window, less in small,
for app
users convenience), but it doesn't happen correctly when the user uses the
taskbar icons to select a different program and then uses the taskbar icons
again to come back to the modified IDE.  I'm not sure if my code logic is
wrong, or if I'm not making the program sense & respond to some condition
deriving from taskbar clicking, or what.

I *have* made it function ok with respect to *Minimizing* the window, with a
flag to know when it has been minimized and tests in "onResize" to handle
<Restore> differently if the window had just been minimized or not.  I
thought this would handle the condition of switching apps via the taskbar,
but it doesn't.

THE PROBLEM:
The problem is, if the window was large, and the user clicks on an icon in
the taskbar for some other program, and then clicks back on my mods icon,
the window is *not* re-made large, but rather it's made small.

A CLUE?:
I have found that if the user FIRST clicks on any "*show help documentation"
button in the Edit window, which runs some "zOrder" stuff first relating to
the order of showing windows on top of one another, and THEN uses the
taskbar to switch apps, the problem doesn't occur, at least for some while,
but after some continued taskbar clicking the problem happens again.
Problem is, I don't have control over when the *user* clicks in the taskbar,
so I can't just try to utilize that zOrder stuff in the onResize event,
'cause I don't know what tested conditions to put it under, I think?

Code snippet follows, any help would be appreciated, thanks.

Dan Moyer


Here's the relevant logic portion of my code:

-- set on program entry:
global integer wasMinimized  -- set whenever window is minimized, hopefully
     wasMinimized = 0


-- onResize code snippet:
--*** for switching size of edit screen between small and large versions
--*** by clicking <Maximize> or <Restore> box at upper right of window:

    --*** for large screen:
    if  style=SIZE_MAXIMIZED  or
        (style= SIZE_RESTORED and wasMinimized = 1)
       <snip>  -- maximize window & put bunch of stuff in it
        wasMinimized = 0  -- is big now

    --*** for small screen:
    elsif  style=SIZE_RESTORED and
           wasMinimized = 0 then
          <snip> -- make window "normal" size, & don't put everything in it

    elsif style=SIZE_MINIMIZED then
        wasMinimized = 1
    end if

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu